Linux Shell Demo

#!/bin/sh

for p in ./*
do
    if test -d $p
    then
        touch $p".ok"
        if test -f $p"/busi.xml"
        then
             echo "delete ${p}/busi.xml..."
             rm $p"/busi.xml"
        fi

        for z in $(find $p -name "*.zip")
        do
            echo "delete ${z}..."
            rm $z
        done
    fi
done
#!/bin/sh

while true
do
read -p "please input look or restart servername:" cmd

if [ "look" = "$cmd" ]
then
ps -ef | grep java | awk ‘
function add(a , st , lee , vv , sv , slen , subss , arrs) {
    match(a , /Dweblogic.Name=([^ ]+)/);
    vv = substr(a ,RSTART,RLENGTH);
    split(vv , arrs , "=");
     if(arrs[2]){
        print arrs[2];
    }
}
{ add($0);}‘
else
     strRes=`echo $cmd | awk -F ‘ ‘ ‘{print  $2;}‘`
     strCmd=`echo $cmd | awk -F ‘ ‘ ‘{print  $1;}‘`
    if [ $strCmd = "restart" ]
    then
     strPid=0
     echo `ps -ef | grep java | awk ‘
        function addr(a , st , lee , vv , sv , slen , subss , arrs) {
        lee = "Dweblogic.Name="st
        if(index(a , lee) > 0){
            print a;
        }
        }
        { addr($0 , strRes);}‘ strRes="$strRes" | awk -F ‘ ‘ ‘{print $2}‘` > pid.temp

   #  echo `cat pid.temp`
     strPid=$(cat pid.temp)
     kill -9 $strPid
     sd=$(`echo find ~/user_projects -name $strRes`)
     cd $sd
     rm -rf ./tmp
     cd ../../bin
     ls -l
     read -p "please input start sh name:" shcus
     ./$shcus".sh"
     echo $shcus" is start..."
    cd ~/nohuplog
    ls -l
    read -p "please input rizhi name:" shcusrizhi
     tail -200f $shcusrizhi".log"
    fi
    # end if [ $strCmd = "restart" ]

fi
done

脚本1 , 在同级目录,根据文件夹创建ok 文件。

脚本2 , 杀进程,启动服务。

时间: 2024-11-08 20:29:04

Linux Shell Demo的相关文章

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

Linux shell 读取一行

方法一 通过指定IFS--Internal Field Separator,IFS默认情况下是<space><tab><newline>,可以下脚本中设定IFS值 DEMO 1 $cat t1.txt abcfd $cat test_IFS.sh #! /bin/sh IFS="c" for LINE in `cat t1.txt` do echo $LINE done $sh test_IFS.sh ab fd 这里需要读取一行只需将IFS=&qu

Linux Shell 编程实战技巧

目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务.这使得 Linux Shell 开发技能成为开发人员的一项重要的.有竞争力的技能.本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧. 避免定时任务脚本的常见问题 很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行.但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同. 以定时任务方式运行的脚本往往会遇

Linux - Shell - shell 执行方式

概述 shell 的执行方式 背景 偶尔执行个 shell 脚本 一般都用 ./ 执行 最近忽然看到 有不同的执行方式, 感觉有必要整理一下, 然后和大家分享 准备 os centos7 shell bash 1. shell 脚本的普通执行 shell 脚本执行 最常用的执行方式 > cd <path/to/scriptDir> > ./<script> [option and args] 其实 shell 脚本, 还有 其他的 执行方式 2. 其他的执行方式 普通方

Linux Shell sort 指定排序第几列

ip.txt 里存储着ip信息 统计排序后取前10条 awk '{cnt[$1]++} END{for (ip in cnt) print ip":"cnt[ip]}' ip.txt | sort -k 2 -rn -t":" | head -n 10 awk '{cnt[$1]++} END{for (ip in cnt) print cnt[ip],ip}' ip.txt | sort -rn | head -n 10 sort -k  根据第几列排序  -n

linux shell脚本执行错误:bad substitution

脚本test.sh内容: #!/bin/bash read pressKey indexes=0 c=${pressKey:indexes:1} 使用调试方式执行:sh -x test.sh第3行总出现bad substitution提示信息. 百思不得其解: 于是百度,查到一条有用信息,这与linux shell使用的是/bin/sh,还是/bin/bash有关系.我的脚本中指定使用的是/bin/bash shell,但是我在调试的时候使用的是sh shell,因此调试时导致错误提示信息. 解

linux shell 数组建立及使用技巧

转自linux shell 数组建立及使用技巧 linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [[email protected] ~]$ a=(1 2 3 4 5)[[email protected] ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 得到长度: [[email protected] ~

Linux shell脚本-基础学习笔记

Linux脚本能力不是太强,最近再补习下,毕竟linux shell在日常工作中还是很普遍的, 用起来更方便.省时省力. 以下是学习笔记,偏理论,后面有几个例子,供参考. shell脚本组成元素系统命令.文本处理工具(grep\sed等).变量.条件判断.循环结构和函数 -------------------------------------------- 三剑客:grep,sed,awk,还有wc,sort,head等 ------------------------------------

Linux Shell脚本攻略(1.10)

1.10 获取.设置日期和延时 很多应用程序需要以不同的格式打印日期.设置日期和时间.根据日期和时间执行某项操作.延时通常用于在程序执行过程中提供一段等待时间(比如1秒).同样的,我们也能够一多种格式打印日期,或者在命令行中设置日期.在类Unix系统中,日期被存储为一个整数,其大小为自世界标准时间起所流逝的秒数.这种计时方式称为纪元时或Unix时间. 1.10.1 获取.设置时间 以下的程序给出了多种用法: #!/bin/bash start=$(date +%s) #获取纪元时间 date #