これらの質問は、source
の機能に対処します: Bashスクリプトの実行とソースの違いは何ですか?'source'は何をしますか?
しかし、スクリプトでsource
を呼び出すと、スクリプトの引数が渡される理由については混乱しています。例えば。私はこれらの2つのスクリプトを持っています:
caller.sh
source sourced.sh
source sourced.sh ""
sourced.sh
echo [$*]
私がする時
./caller.sh arg1 arg2
私は得る
[arg1 arg2]
[]
source sourced.sh $*
を指定しなかった場合でも、「arg1arg2」がsourced.shに渡されます。
どうして?
「」を追加すると、引数が渡されないことがわかりました。これは、引数が渡されないようにするための推奨される方法ですか?