1
私はu-bootのmakefileの一部としてシェルスクリプトに出くわしました。それが何 とどのようにそれが次のシェルスクリプトは何ですか
cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \
> /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
を評価され、コードがif
コマンドを実行します
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,\
$(call cc-option,-malignment-traps,))
+1ですが、 "if"はコマンドではありません。それはシェル文法のキーワードです。 –
@WilliamPursell:まあ、ほとんどのシェルでは "if"はシェル組み込みコマンドです。 BASHのマニュアルには、 "複合コマンド"の下の "if"がリストされています。 –
"if"のセマンティクスは実際に複合コマンドを形成するためのキーワードとしてそのセクションで記述されています。これはコマンドではありません。 –