2

次のifステートメントを含むbashスクリプトがあります。

if [ "$(PATH)/$(FILE)" != "`echo $(PATH)/$(FILE)`" ]; then [code omitted] fi

ファイル パスを、エコー バックされた同じファイル パスと比較する目的は何でしょうか?

bash スクリプトは、Makefile のルール内に埋め込まれています。したがって、変数の表記は通常の bash スクリプトとは異なります。たとえば、$(PATH) は、Makefile 内で定義されている PATH 変数に置き換えられます。

4

1 に答える 1

2

Makefile の作成者は、次のような変数参照を期待PATHおよび/または含むように見えます。FILE

PATH='/$foo/bar'

したがって$PATH、 の展開と必ずしも同じではありません$(echo $PATH)

于 2012-08-03T21:22:49.677 に答える