Shell Scripts 备忘录 (Updating)

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

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

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

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

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

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

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

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

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

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

                                        逻辑操作、位操作等。表达式中不必转义 <>操作符。

        [[  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

你可能感兴趣的:(linux,shell,scripts)