たとえば、次のスクリプトを使用します。
#!/bin/bash
for a in $@
do
echo $a
done
実行:./script "x y" z
リターン:
x
y
z
いいえ:
x y
z
なぜそんなことですか?
スペースを含む文字列引数をbashにどのように渡しますか?
私は使用しますBash 4.3.33
。
答え1
引用する$@
:
#!/bin/bash
for a in "$@"
do
echo "$a"
done
出力:
XY ジ
答え2
処理するときは、$@
次のように単純化できます。
for a
do
echo "$a"
done
「inwords...;」がない場合は「$@」と見なされます。