次のルールがありMakefile
ます:
dbrestoretable:
echo ${TABLE:-asdf}
私が実行すると:
$ make dbrestoretable
echo
しかし:
$ echo ${TABLE:-asdf}
asdf
最初のケースでデフォルト値 asdf
がエコーされないのはなぜですか?
UPD
指定された重複は、で割り当てられた変数の使用方法について話しますMakefile
。そして、デフォルト値が使用されない理由には答えません
この変更された例を見てください。
dbrestoretable:
echo ${TABLE:-asdf}
echo ${TABLE}
次に実行します。
$ make dbrestoretable TABLE=mytable
echo
echo mytable
$ make dbrestoretable
echo
echo
ご覧のとおり、使用する${TABLE:-asdf}
と空の文字列が返されます。しかし、最初の実行mytable
と2回目の実行でasdf
値がエコーされることを期待しています