0

いくつかのオプションを使用して C++ アプリケーションを実行するスクリプトがあります。私がやりたいことは、スクリプトへの属性として C++ アプリケーションのオプションを与えることです。

options=$1
...
./app $options

問題は、次のようなオプションを渡そうとすると

./script '-a -C "9.626 0.262 8.266"'

-C オプションの属性は、文字列全体ではなく、単に '"9.626' です。これを解決する方法はありますか? :) ありがとう

4

1 に答える 1

0

配列を使用する必要があります。

options=( -a -C "9.626 0.262 8.266" )
./script "${options[@]}"

script$1-a$2-C$3は です9.626 0.262 8.266。(引用符は の一部ではないことに注意してください$3。これらは、引数を に設定する際に空白を保護するためにのみ使用されますscript。おそらく、3 つの引数すべてを他のコマンドに渡すつもりであり、

other_command "$1" "$2" "$3"

またはより一般的には、任意の数の引数に対応するために

other_command "$@"
于 2015-08-06T16:09:06.787 に答える