2

次のルールがあり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値がエコーされることを期待しています

4

0 に答える 0