0

特定のコマンドを実行するためにシェルを呼び出している、事前に作成された Makefile ターゲットに特定のステートメントが表示されます。以下は、私が困惑しているものの構文です。

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

したがって、上記のステートメントでの私の質問は次のとおりです。

(1) これは環境変数の存在を確認する条件文ですか?

(2) -z オプションの意味を教えてください。

(3) 「||」を知っている時点で は論理演算子ですが、そのようなユース ケースではどのように動作しますか。

4

1 に答える 1

2
  1. はい。
  2. -z: 次の文字列の長さがゼロの場合、式は真です。
  3. cmd1 || cmd2: cmd2ifの実行はcmd1、0 以外のステータスで返されます (つまり、cmd1失敗します) 。
于 2012-09-05T06:49:27.210 に答える