第二十讲——条件测试类型 本文共有2304个字,关键词: 条件测试类型有三类: 整数测试 字符测试 文件测试 整数测试:双目操作符 -eq 测试两个整数是否相等 -nq 测试两个整数是否不等 -gt 测试一个数是否大于另一个数 -lt 测试一个数是否小于另一个数 -ge 测试一个数是否大于等于另一个数 -le 测试一个数是否小于等于另一个数 使用方法有两种(条件测试的表达式) 一是 test expression 例如:test $n –ge $m 二是使用中括号: [ expression ]中括号与测试语句间有空格 If [ $UID –eq 0 ] 等价于if [ `id –u username` -eq 0 ] 后者引用了命令的执行结果 If id username ; then 判定用户是否存在,这是一个执行的状态返回值 如果我们要取一个命令的状态执行结果,不能加引号,要么直接调用,要么让命令先执行,然后取$?的值。 Exit 退出当前进程,用于定义撞他返回结果(定义状态码),如果exit后不跟数值,则将前一条命令的状态返回值作为整个脚本的状态返回值。 文件测试: -e filename 测试文件是否存在 -f filename 测试是否为普通文件 -d filename 测试指定路径是否为目录 -r filename 测试对当前执行脚本的用户是否有读权限 -w filename 测试对当前执行脚本的用户是否有写权限 -x filename 测试当前执行脚本的用户是否有执行权限 -s filename 测试是否为空文件 变量测试:字符的大小比较是无意义的 [ $str1 == $str2 ] 测试两个字符串是否相等 [ $str1 != $str2 ] 测试两个字符串是否不等 [ $str1 ] 测试字符串是否不空 [ -s $str1 ] 测试字符串是否不空 [ -n $str1 ] 测试字符串是否为空 在这里顺便啰嗦一下bash中的语句逻辑关系 逻辑与 && 当第一个条件为真时,第二个条件必须判断 逻辑或 || 当第一个条件为假时第二个条件必须判断 逻辑非 ! 逻辑符又称为短路操作符,只要有一个条件满足,则后面的都不执行。 Shell下的算术运算 let命令 a=1 b=2 let c=$a+$b $[算术运算符表达式] $((算数运算符表达式)) expr 算数运算表达式各操作数和运算符之间要有空格。 C=`expr $a + $b` 顺便再复习一下系统变量, 环境变量:export 作用域为当前shell及其子shell 本地变量:作用域为当前shell 局部变量:作用域为代码段 位置变量:$!,$2.$3以及后向引用中的\1,\2,\3等等 特殊变量:$? 上一条命令执行的状态返回值 $# 脚本中引用参数的个数 $0 脚本名称 $1 第一个参数 $2 第二个参数,最多有9个 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2016-12-20 评论 1455 次浏览