理解shell脚本中条件语句的语法

时间:2012-09-05 06:37:06

标签: shell makefile

我确实在预先编写的Makefile目标中看到了某些语句,他们在这里调用shell来执行某些命令。以下是我困惑的语法。

[ -z "$(ENV_VAR)" ] || \
echo Building $(ENV_VAR); \

所以我在上述陈述中提出的问题是:

(1)这是一个检查环境变量是否存在的条件语句?

(2)-z选项意味着什么。

(3)据我所知“||”是一个逻辑运算符,它在这种用例中的表现如何。

1 个答案:

答案 0 :(得分:2)

  1. 是。
  2. -z:如果跟随字符串的长度为零长度
  3. ,则表达式为true
  4. cmd1 || cmd2cmd2执行cmd1如果cmd1返回状态不等于零(即{{1}}失败)