if高级用法
1、条件符号使用双圆括号,可以在条件中植入数学表达式 if (())
1 2 3 4 5 6 7 8
| #!/bin/bash
if (( (5+5-5)*5/5 > 10 )) then echo "yes" else echo "no" fi
|
2、使用双方括号,可以在条件中使用通配符
通过代码看下 ,为字符串提供高级功能,模式匹配 r* 匹配r开头的字符串
1 2 3 4 5 6 7 8 9
| #!/bin/bash
for var in ab ac rx bx rvv vt do if [[ "$var" == r* ]] then echo "$var" fi done
|
简写if
省去了关键字,条件为真采用&&符号链接命令块,条件为假采用||链接命令块
简写if一般用在简单的判断中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| if [ ! -d /tmp/baism ] then mkdir /tmp/baism fi
[ ! -d /tmp/baism ] && mkdir /tmp/baism
if [ $USER == 'root' ] then echo "hello root" else echo "hello guest" fi
[ $USER == 'root' ]&&echo "hello root" || echo "hello guest"
|