22
何らかの理由で、引数をスペース文字で受け入れるにはスクリプトが必要です。例えば次のように私は、スクリプトを使用している場合は、シェルスクリプトのスペースを含む引数を渡す
for SOME_VAR in [email protected]
do
echo "$SOME_VAR"
cd "$SOME_VAR"
done;
私はスクリプトに引数を渡す場合
sh foo.sh "Hello world"
私はこんにちは、世界をを印刷するためのスクリプトを期待しています(foo.shと呼ばれていると仮定した場合)を入力し、ディレクトリを "Hello world"に変更します。しかし、私が代わりに
hello
cd: 5: can't cd to hello
world
cd: 5: can't cd to world
ので、私はシェルスクリプト内のコマンドにスペース文字で引数を渡すんどのように正確に、このエラーメッセージが表示されます!
返信ありがとうございました。私はこの自分自身、いくつかのさらなる説明http://tldp.org/LDP/abs/html/internalvariables.html#ARGLIST – Jeffrey04
にお答えしたいのですが、$ @ その場合は、forループを使用しても、通常の 'echo" $ @ "; cd" $ @を使用することは実際にはありません。 スペースブールで区切りを区切って '〜のために'を持つことができる解決法はありますか? –
@AndreasWederbrand:いいえ "$ @"は、それぞれの個人をラップすることを意味する特別なトークンです"bc"は '' abc ''や' 'a" "b" "c" 'の代わりに' 'a" "bc" 'になります。 –