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