1

すべてのパラメーターをファイルに入れるには、bashscript が必要です。cat多くの行を追加する必要があるため、これを使用しようとしました:

#!/bin/sh
cat > /tmp/output << EOF
 I was called with the following parameters:
 "$@"
 or 
 $@
EOF

cat /tmp/output

次の出力につながります

 $./test.sh "dsggdssgd" "dsggdssgd dgdsdsg"
 I was called with the following parameters:
 "dsggdssgd dsggdssgd dgdsdsg"
 or 
 dsggdssgd dsggdssgd dgdsdsg

この 2 つのことはどちらも望んでいません。コマンド ラインで使用された正確な引用符が必要です。どうすればこれを達成できますか?私はいつも$@、引用に関してはすべて正しいと思っていました。

4

3 に答える 3

1

試す:

#!/bin/bash
for x in "$@"; do echo -ne "\"$x\" "; done; echo
于 2013-07-01T13:38:22.273 に答える
0

Bash によって解釈されるものを確認するには、次を使用します。

bash -x ./script.sh

または、これをスクリプトの先頭に追加します。

set -x 

これを親スクリプトに追加することができます。

于 2013-07-01T13:34:33.320 に答える