-
Shell脚本中[]和[[]]的区别?
[] | [[]] | |
共同点 | 都是条件表达式 | |
不同点 | 不支持正则表达式 | 支持正则表达式 |
不同点 | 逻辑判断表达方式不一致 https://www.runoob.com/linux/linux-shell-basic-operators.html | 逻辑判断表达方式不一致 < <= >= > == && || |
-
Shell脚本中&&和||的区别?
运算符 | 说明 | 举例 |
&& | 逻辑的 AND | [[ $a -lt 100 && $b -gt 100 ]] 返回 false |
|| | 逻辑的 OR | [[ $a -lt 100 || $b -gt 100 ]] 返回 true |
[root@m01 script]# [[ -f /etc/hosts ]] && echo "file 存在" || echo "file 不存在"
file 存在
[root@m01 script]# [[ -f /etc/host ]] && echo "file 存在" || echo "file 不存在"
file 不存在
[root@m01 script]# [[ "Str1" == "Str1" ]] && echo "一致" || echo "不一致"
一致
[root@m01 script]# [[ "Str1" == "Str2" ]] && echo "一致" || echo "不一致"
不一致
[root@m01 script]# [[ 1 > 2 ]] && echo "大于等于" || echo "小于等于"
小于等于
[root@m01 script]# [[ 3 > 2 ]] && echo "大于等于" || echo "小于等于"
大于等于
[[ $num =~ ^[0-9]+$ ]] && echo 数字 || 不是数字