a=1
b=1
if [ "$a" -eq "2" ];then
echo eq
elif [ "$a" -gt "$b"];then
echo gt
else
echo lt
fi
正则表达式匹配:
使用双方括号,
if [[ "$a" =~ '^[0-9]' ]];then
echo num
fi
[[ "$id" =~ "[0-9]{6}" ]] 重复需要用转译 \{\}
cmd1 || cmd2 #当cmd1执行不成功时执行cmd2
cmd1 && cmd2 #当cmd1执行成功时再执行cmd2
[ -f /home/1 ] || touch /home/1 #如果 /home/1不存则创建该文件,
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-s 存在并且不为空
-z 空串
-n 非空串
= 两个字符相等
!= 两个字符不等
[ -d FILE ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。
[ -z STRING ] “STRING” 的长度为零则为真。
[ -n STRING ]
[ ! EXPR ] 如果 EXPR 是false则为真。
[ ( EXPR ) ] 返回 EXPR的值。这样可以用来忽略正常的操作符优先级。
[ EXPR1 -a EXPR2 ] 如果 EXPR1 and EXPR2 全真则为真。
[ EXPR1 -o EXPR2 ] 如果 EXPR1 或者 EXPR2 为真则为真。
阅读(849) | 评论(0) | 转发(0) |