main.shに次のものがあるとします。
$NAME="a string"
if [ -f $HOME/install.sh ]
. $HOME/install.sh $NAME
fi
そしてinstall.shから:
echo $1
これはechoになっていますが、"a string"
何もエコーしません。なぜ?
ベストアンサー1
マイケル・モロジェほとんどの問題に対処しており、Bashを使用しているので、彼の修正はうまくいくでしょう。
パラメータを使用してスクリプトを取得する機能が恥ずかしいことに興味があるかもしれません。または、sh
ソーススクリプトのパラメータが無視され、パラメータが引用されるため、何もエコーされません。dash
main.sh
$1
main.sh.
からスクリプトをインポートすると、sh
ソーススクリプトのテキストをソーススクリプトファイルにコピーして貼り付けたのと同じです。次の点を考慮してください(Michaelが提案した修正を適用しました)。
$ bash ./test.sh
A String
$ sh ./test.sh
$ sh ./test.sh "HELLO WORLD"
HELLO WORLD