1

次のスクリプトがあるとします。

#!/usr/bin/ksh

for element in $@
    do
            echo $element
done

そして、次を使用してスクリプトを実行します。

./myscript.ksh "my element"

予想される出力は次のようになります。

my element

ただし、空白は各引数のセパレータとして扱われ、次のようになります。

my
element

空白をエスケープするにはどうすればよいですか?

ありがとう

4

2 に答える 2

5

$@二重引用符で囲む必要があります:

#!/usr/bin/ksh

for element in "$@"
do
    echo $element
done

すべてを省略して同じ出力を得ることができますin "$@"

#!/usr/bin/ksh

for element
do
    echo $element
done
于 2012-10-15T13:09:42.117 に答える
2

を引用するか$@、何も使用しない必要があります。

for element in "$@"

また

for element

どちらも機能します。

于 2012-10-15T13:11:41.390 に答える