2つのパラメータを使用して呼び出されるスクリプトがあります。
./script.sh a b
私は現在$ 1と$ 2(例えば)を通して読んでいますcd $1
。私の問題は、引用されたパラメータを使用してスクリプトを呼び出すときに出力が同じでなければならないことです。
./script.sh "a b"
私が正しく理解したら、2つのパラメータを$1
変数に渡します。これを行う簡単できれいな方法がありますか、それとも空白の最初の引数を確認し、それを配列に分割し、配列の一部を2つの別々の変数に渡してから全体を実行する必要がありますか?スクリプトで使用?
ベストアンサー1
最も簡単な方法は、これをスクリプトの上に置くことです。
set -- $*
これにより、パラメータリストが再び拡張されるため、パラメータのスペースは新しいパラメータ間の区切り文字になります。
パラメータに非常に複雑な引用符(例:引用符)が含まれていると、いくつかの複雑な動作が発生する可能性がありますが、私の考えではこれが発生する可能性はほとんどありません。