1
次のようなbashシェルスクリプトへの入力を解析できるようにしたいと考えています。bashスクリプトの引数を複数の値で保存する
myscript.sh --casename obstacle1 --output en --variables v P pResidualTT
最後の引数には複数の値があるので、これまでのところこれまでに失敗しました。最初の引数は1つだけの値を持つべきですが、3番目の引数は1より大きい値を持つことができます。次の " - "までの3番目の引数の後のすべてを取得するように指定する方法はありますか?私はユーザーが私が示した順序で引数を与えるように制約されていないと仮定しよう。
casename=notset
variables=notset
output_format=notset
while [[ $# -gt 1 ]]
do
key="$1"
case $key in
--casename)
casename=$2
shift
;;
--output)
output_format=$2
shift
;;
--variables)
variables="$2"
shift
;;
*)
echo configure option \'$1\' not understood!
echo use ./configure --help to see correct usage!
exit -1
break
;;
esac
shift
done
echo $casename
echo $output_format
echo $variables
、ん '--variab lesは2または3の値を持っていますか?答えが「2」の場合、スクリプトがパラメータ値( '' v''と '' '')と非パラメータ値( '' pResidualTT')を区別するために、どのように期待しますか?どのようにスクリプトの後ろにある複数値のパラメータを参照することを計画していましたか?値の配列をループしますか?連結された値の変数を解析しますか? – markp
3番目の引数は変数にダンプされ、その3番目の引数の個々のコンポーネントを解析する方法を知っている別のスクリプトに直接渡されます。 – wandadars