渡す引数:ここ 関数呼び出しの結果フラグと、私はこのように現在のスクリプトを更新したいと思います
$ example.sh a b
は、それが引数に取る
example.sh
for var in "[email protected]"
do
$var
done
内のコードがありますそれらの引数はループされて実行されます(これらの引数が存在すると仮定します)。
これらのflags
がスクリプト/関数であり、後のすべてが関数の引数として適用されるようにスクリプトを更新したいと考えています。
$ example.sh --a 1 2 3 --b 4 5 6
私はすべてのフラグをループして、それに相当するものを実行したいと思います。
a 1 2 3
b 1 2 3
私はgetopts
に見ているが、私はそれは私が私が望む方法を実行し、引数に渡すことができるようになりますかどうかわからないです。
while getopts ":a:b:c:d:" opt; do
case "$opt" in
a) i=$OPTARG ;;
b) j=$OPTARG ;;
c) k=$OPTARG ;;
d) l=$OPTARG ;;
esac
done
echo $i
echo $j
for file in "[email protected]"; do
echo $file
done
私はexample --a 1 2 3 --b 4 5 6
を与えられた次のスクリプトのみOPTARG
を使用して最初の項目を割り当てますし、それが正常に動作しませんが見つかりました:私が試した何
。私はこの形式で関数に引数を適用する方法が不明です。
これは「空白やシェルのワイルドカードまたはが含まれている任意の引数をmisparseしようとしていることをしてみてください - " –
@GordonDavissonはい、それはトップの答えではありませんが、私たちはおそらく私が言うのは、cmdのタイプについて何も知らないからです。 –