内置命令
test
根据表达式
expr求值的结果返回 0(真)或1(假).
[]等同于test.
改变运算优先级使用 \( \) 逻辑运算使用 -a -o
[ $T = 1 -o \( $T = 0 -a $X -eq 8 \) ]
[[]]可以使用更通用的语法,改变优先级用(),逻辑运算用&& ||
[[ $T = 1 || ( $T = 0 && $X -eq 8 ) ]]通配符匹配
[[ "abc" == aa* ]] ;echo $? //返回1(假)
正则表达式
[[ "abc" =~ aa* ]] ;echo $? //返回0(真)
因为通配符和正则表达式*的意思不同.
注:[]中的==是等于的意思,不会进行通配符匹配.且在[]中不支持=~.
摘自
http://www.ibm.com/developerworks/cn/linux/l-bash-test.html
阅读(972) | 评论(0) | 转发(0) |