使用两个中括号的条件表达式

时间:2019-04-16 23:59:04  来源:igfitidea点击:

test命令用于检查文件类型和比较值。同时还可以使用[[作为测试命令。它用于:

  • 文件属性的比较
  • 字符串比较。
  • 算法的比较。

使用 [[ ]]作为条件表达式和 使用[ ]是一样的。区别是 使用 [[ ]]是更安全版本,而[ ]更好移植(比如在csh,ksh中都可以使用)

语法

[[ condition ]]

或者

[[ ! condition ]]

或者

[[ condition ]] && true-command

或者

[[ condition ]] || false-command

或者

[[ condition ]] && true-command || false-command

示例

[[ 5 == 5 ]] && echo "Yes" || echo "No"
[[ 5 == 15 ]] && echo "Yes" || echo "No"
[[ 5 != 10 ]] && echo "Yes" || echo "No"

# 如果文件存在,则执行前面的echo语句,否则执行后面的echo
[[ -f /etc/resolv.conf ]] && echo "File /etc/resolv.conf found." || echo "File /etc/resolv.conf not found."
[[ -f /etc/resolv1.conf ]] && echo "File /etc/resolv.conf found." || echo "File /etc/resolv.conf not found."