Shell Scripts 备忘录 (Updating)

NO 1:    多重、复杂条件判断式 之 if 结构linux

        if  [ 条件判断式 ]; then 中 if 与 [ ] 间有空格;条件判断式与[]间有空格;shell

       若条件表达式为 A == B一类的断定,则 A、B与 == 间有空格express

NO 2:    在 bash shell 中,if 语句中的 [  ] 是声明 test命令的一种方式。bash

        表达式可进行数值、字符串、文件三类的比较。函数

          一:数值类比较,只能用来比较整数。spa

            二:字符串比较时,有符号、命令两种方式。ip

                    符号比较,如 <> 需加转义符号 \          字符串

 NO 3:    if then 结构中 双园括号表示数学表达式,双方括号表示高级字符处理函数数学

        ((  expression  )):expression 为数学赋值表达式、数学比较表达式、自增、自减、io

                                        逻辑操做、位操做等。表达式中没必要转义 <>操做符。

        [[  expression  ]]:expression 除支持 test 命令中的字符串表较外,还支持模式匹配。

 

NO 4:    while do done,until do done 循环体中采用 ((  )) 形式。

        Ex:    while [ "$a" != 10 ]

                 do

                    a=$(($a+1))

                 done


NO 5:    Shell 脚本的参数

        若参数为字符串,且字符串中有空格,则应使用 ' ' 或" "

        参数多于9个时,第9个参数后,必须用 {  } 将参数括起来。如: $ 10 }、 $ 12 等。


NO 6:    特殊变量 $# 表示脚本参数的个数

        如:parameter=${ ! # }

        当有参数parameter${ ! # } 都指向最后一个参数。

        参数个数为 0 时,parameter 值为 0${ ! # } 值为脚本文件名 等。


NO 7:    特殊变量 $* $@ 

        均可用来一次显示全部参数

        但在 for 循环迭代中,$* 将全部参数视为一个字符串, $@ 则迭代每一个参数。


NO 8:    在脚本执行过程当中,使用 read 获取用户输入 

        read  参数列表

        如:read  $param ,若 read 后无变量,则默认存储在 REPLY

        -t  选项可指定 read 等待输入的秒数,当计数器计数满时,read 返回非零退出状态。

        -s 选项,可以使输入内容不显示(事实上,read命令将输出文本颜色设置成了背景色)。


NO 9:    空文件 null file 

        空文件 null file ,在 linux 系统中的位置是 /dev/null ,任何重定向到该文件的数据都会丢失。

        如: cat  /dev/null  filname,能够用来清空文件数据


NO 10:    Linux 系统 在预约时间运行程序、脚本的3种方法 

        at 命令:在指定的时间点运行脚本。

        batch 命令:在系统处在低负载水平时运行脚本。

        cron 命令:周期式运行脚本。

        Tips:

        cron 程序从 cron表格 中查找需调度运行的 做业。cron 表格格式以下:

                min  hour  dayofmonth  month  dayofweek  command

        也可包含 if - then 语句,如每个月最后一天的某一时间运行程序、脚本:       

                min  hour   *   *   *   if    [   `date   +   %d   -d   tomorrow`   =   01   ]  ;  then  ;  command

相关文章
相关标签/搜索