0

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

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

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

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

(2) -z 选项是什么意思。

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

4

1 回答 1

2
  1. 是的。
  2. -z: 表达式为真,如果后面的字符串长度为零
  3. cmd1 || cmd2:执行cmd2ifcmd1返回状态不等于零(即cmd1失败)
于 2012-09-05T06:49:27.210 回答