Linux Shell条件判断表达式
在Linux Shell编程时经常会用到条件表达式,并根据条件表达式的结果执行不同的命令.在Linux中有一内置变量?来记录条件表达式的结果:0:成功或为真,非0:失败或false
条件表达式的写法:let expression,test expression, [ expression ],[[ expression ]],(( expression)),下面通过例子对上面的表达式的写法做个说明
定义变量
$ x=2
$ y=3
$ name=Oak
在let中判断相等只能用一个”=”,面在test中可用一个”=”也可以两个”=”
let:
$ let x==2 && y ==3
-bash: y: command not found
$ let x=2 && y=3
$ echo $?
0
test:
$ test x=2 && y=3
$ echo $?
0
$ test x==2 && y==3
$ echo $?
0
let和test”=”前后不能有空格
test:
$ test x = 2 && y = 3
$ echo $?
1
let:
$ let x = 2 && y = 3
-bash: let: =: syntax error: operand expected (error token is "=")
[ expression ]与[[ expression ]]的区别[[ expression ]]中可以使用通配符
$ [ $name = [Oo]ak ]
$ echo $?
1
$ [[ $name = [Oo]ak ]]
$ echo $?
0
((expression))中没有特别注意,只要注意是双括号就可以了,而 [ expression ]与[[ expression ]]在表达式与中括号间要有空格
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7419833/viewspace-586716/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7419833/viewspace-586716/