Bash中方括号内的变量

时间:2019-02-01 02:30:56

标签: bash shell

在方括号内包含变量是什么意思?布尔值?

例如:

  1. [ $FILES ] || { print "File not found." }
  2. [ $VERIFY ] && { print "file verification fail" }

1 个答案:

答案 0 :(得分:0)

[]调用test命令,该命令使您可以根据内部提供的参数来运行条件测试。

对于您提供的示例:

  • $FILES是单个参数,因此如果参数不为null,则测试将返回True。通过||(逻辑或)进行管道传输,每当$ FILES为'null'时,test将返回非零的退出状态(1),从而显示“找不到文件”。
  • $VERIFY的同上,除了用&&进行管道传输,这意味着只要$ VERIFY不为null,print "file verification"就会执行(因为test将在这种情况)。

我还要补充说,还有一个[[]],它是“较新的”测试,更常用

编辑:我还建议将变量名称括在双引号(“”)中,因为它们在技术上是命令的参数。