[] 表达式
[[ ]] 表达式
注意:[[]] 运算符只是 [] 运算符的扩充。能够支持 >, < 符号运算不需要转义符,它还是以字符串比较大小。里面支持逻辑运算符:|| && ,不再使用 -a -o。
相加补充一种方式:
a=10 b=20 c=$(($a+$b))
推荐用 $() 代替 ``:
val=`expr 10 + 20` val=$(expr 10 + 20)
Shell 相加目前发现有 3 种写法:
1.
a=10 b=20 c=`expr ${a} + ${b}` echo "$c"
2.
c=$[ `expr 10 + 20` ] echo "$c"
3.
c=$[ 10 + 20 ] echo "$c"
初学者推荐第一种写法,虽然看着复杂,但逻辑清晰,不易混淆。
字符串比较是否为 null 这里:
#!/bin/bash a="" if [ -n $a ] then echo "-n $a : 字符串长度不为 0" else echo "-n $a : 字符串长度为 0" fi
输出结果为:
-n : 字符串长度不为 0
从结果上看 -n $a 返回 true,这并正确,正确的做法是 $a 这里应该加上双引号,否则 -n $a 的结果永远是 true:
#!/bin/bash a="" if [ -n "$a" ] then echo "-n $a : 字符串长度不为 0" else echo "-n $a : 字符串长度为 0" fi
-n : 字符串长度为 0
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
790Shell 运算符
[] 表达式
注意:在 [] 表达式中,常见的 >, < 需要加转义字符,表示字符串大小比较,以 acill 码位置作为比较。不直接支持 >, < 运算符,还有逻辑运算符 || 、&& ,它需要用 -a[and] –o[or] 表示。[[ ]] 表达式
注意:[[]] 运算符只是 [] 运算符的扩充。能够支持 >, < 符号运算不需要转义符,它还是以字符串比较大小。里面支持逻辑运算符:|| && ,不再使用 -a -o。
789Shell 运算符
相加补充一种方式:
788Shell 运算符
推荐用 $() 代替 ``:
787Shell 运算符
Shell 相加目前发现有 3 种写法:
1.
2.
3.
初学者推荐第一种写法,虽然看着复杂,但逻辑清晰,不易混淆。
786Shell 运算符
字符串比较是否为 null 这里:
输出结果为:
从结果上看 -n $a 返回 true,这并正确,正确的做法是 $a 这里应该加上双引号,否则 -n $a 的结果永远是 true:
输出结果为: