许多的daemon都会附上一个管理用的Shell Script,像BIND就附上ndc,Apache就附上apachectl。这些管理程式都是用shell script来写的,以下示一个管理inetd的shell script。 #!/bin/sh case $1 in start | begin | commence) /usr/sbin/inetd ;; stop | end | destroy) killall inetd ;; restart | again) ki...
case语句(简单) === if语句 case 变量 in 值1) 命令;; 值2) 命令;; 值3) 命令;; *) 命令;; esac [root@vh01 script]# vim i.sh #!/bin/bash case $1 in -c) cat $2;; -v) vim $2;; -d) rm -rf $2;; -t) touch $2;; *) echo "Usage $0 {-c|-v|-d|-t}" esac re...
case $1 in "one") printit;echo $1 | tr 'a-z' 'A-Z' # 将参数做大小写转换 ;; "two") printit;echo $1 | tr 'a-z' 'A-Z' ;; "three") printit;echo $1 | tr 'a-z' 'A-Z' ;; *) echo "Usage $0 {one|two|three}" ;; esac --- 实例1变种: # vi sh14.sh --- ...
mv/etc/yum.repos.d/* /etc/yum.repos.d/bak &>/dev/null case"$os_version"in "7.6") cat> /etc/yum.repos.d/centos7u6.repo<<-EOF [centos7u6] name=centos7u6 baseurl=file:///media enabled=1 gpgcheck=0 EOF echo "$os_version yum config finish..." ;; "6.5") wget -O /etc/yu...
把上一篇Linux 之 shell script -- 条件判断式(if ... then)中的hello-2.sh用case .. in .. esac的语法改写一下 vi hello-3.sh输入如下内容: #!/bin/bash case ${1} in "hello") echo "Hello,how are you ?" ;; "") echo "You must input parameters, ex> {${0} someword}" ...
source shellscript.sh是在原父进程执行脚本内容。 shell 脚本默认变量 命令执行判断 cmd1; cmd2 顺序执行 sync; sync; shutdown -f cmd1 && cmd2 若cmd1执行正确则执行cmd2 若cmd1执行错误则不执行cmd2 # 查看txt文件是否存在,存在就新建txt2
case "$YN" in [Yy]|[Yy][Ee][Ss]) echo "continue" ;; *) exit 0 esac 13. for what? while与until差在哪? # for for ((i=1;i<=10;i++)) do echo "num is $i" done # while num=1 while [ "$num" -le 10 ]; do
case$indexin X) x=$val;; Y) y=$val;; *) esac done ((result=x+y)) echo"X+Y=$result" 将此脚本命名为test.sh,并按如下所示调用它。 $ ./test.sh X=44 Y=100 它应该返回X+Y=144。这里的参数存储在“$@”中,脚本使用Linuxcut命令获取它们。
ShellScript脚本编程 ShellScript脚本编程 Shell脚本入门 Shell是什么 Shell英文是"壳”,Shell是一块包裹着系统核心的壳,处于操作系统的最外层。 Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。通过编写Shell命令发送给linuⅸ内核去执行,操作就是计算机硬件,所以Shell命令是用户操作计算机硬件的桥梁,Shell是命令...
方法1:根据访问日志(Nginx为例) #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>100)print i}') #先tail防止文件过大,读取慢,数字可调整每分钟最大的访问量。awk不能直接过滤日志,因为包含特殊字...