本文共 2993 字,大约阅读时间需要 9 分钟。
三.Shell编程
1) 输出重定向 命令 > 文件 正确结果覆盖保存到文件内 命令 >> 文件 正确结果追加保存到文件内 ------------只能保存正确输出------------------ 命令 2> 文件 错误结果覆盖保存到文件内 命令 2>> 文件 错误结果追加保存到文件内 ---------------只能保存错误输出--------------------- 命令 > 文件 2>&1 命令 >> 文件 2>&1 命令 &> 文件 命令 &>> 文件 命令 >> 文件1 2>> 文件2 ---------------保存正确和错误输出--------------------- 2) 管道符 ; 顺序执行指令 && 前一个执行成功再执行后一个 || 前一个执行失败再执行后一个 命令1 | 命令2 命令1的正确输出作为命令2的操作对象 3) declare 声明变量类型 declare [+/-] [option] 变量名 - 设定属性类型 + 取消设定属性类型 option: -a 数组 -i 整形 -x 环境变量 -r 只读 -p 显示被声明类型 4) export 声明环境变量 set 查看环境变量 5) 数值运算 1.expr c=$(expr $a + $b) 2.let 3.$(()) 4.$[] 6) source 配置文件 7) grep 字符串 #行提取命令 8) cut [option] 文件名 #列提取命令 -f 提取第几列 -d 分隔符 9) printf 命令 10) sort [option] 文件名 -f 忽略大小写 11) wc [option] 文件名 -l 只统计行数 -w 只统计单词数 -m 只统计字符数 12) 判断格式 test [option] 文件 [ [option] 文件 ] 按照文件类型判断 -e 文件是否存在 -f 文件持否存在且为普通文件 -d 文件是否存在且为目录文件 按照文件权限判断 -r 文件是否存在且拥有读权限 -w 文件是否存在且拥有写权限 -x 文件是否存在且拥有执行权限 两个文件比较 file1 -nt file2 文件1的修改时间是否比文件2新 file1 -ot file2 文件1的修改时间是否比文件2旧 file1 -ef file2 文件1和文件2的inode号是否一致 两个整数比较 num1 -eq num2 相等 num1 -ne num2 不相等 num1 -gt num2 大于 num1 -lt num2 小于 num1 -ge num2 大于等于 num1 -le num2 小于等于 字符串的判断 -z 字符串 是否为空 -n 字符串 是否非空 str1 == str2 等 str1 != str2 不等 多重条件判断 jud1 -a jud2 逻辑与 jud1 -o jud2 逻辑或 !判断 逻辑非 13) 条件判断语句 1.单分支if语句 if [ 条件判断式 ]; then program fi if [ 条件判断式 ] then program fi 2.双分支if语句 if [ 条件判断式 ] then program else program fi 3.多分支if语句 if [ 条件判断式 ] then program elif [ 条件判断式 ] then program ... else program fi 4.case 语句 case $变量名 in "val1") program ;; "val2") program ;; *) program ;; esac 5.for循环 for 变量 in 值1 值2... do program done 6.while循环和until循环 while [ 条件判断式 ] do program done until [ 条件判断式 ] do program done
转载地址:http://ivqli.baihongyu.com/