タイトルがわかりずらくて申し訳ありませんが、言いたいことは次のとおりです。
複数のパラメーターを受け入れることができるスクリプトがある場合、渡されたパラメーターに基づいてスクリプト アクションをより簡単に制御するために、getops コマンドを使用します。ただし、これらのパラメーターの 1 つを 5 ~ 9 の任意の数値にすることができます。スクリプトにコマンドとして渡された 5 から 9 までの任意の数字を単一のユーザー コマンドとして取得する必要があることを getops に伝える方法はありますか?
これまでの私のコードは次のようなものです:
#!/bin/sh
args=`getopt -o abc: -- "$@"`
eval set -- "$args"
echo "After getopt"
for i in $args
do
case "$i" in
-c) shift;echo "flag c set to $1";shift;;
-a) shift;echo "flag a set";;
-b) shift;echo "flag b set";;
done
次のようなことができるかどうかを確認したい:
#!/bin/sh
args=`getopt -o ab[0-9]c: -- "$@"`
eval set -- "$args"
echo "After getopt"
for i in $args
do
case "$i" in
-c) shift;echo "flag c set to $1";shift;;
-a) shift;echo "flag a set";;
-b) shift;echo "flag b set";;
-[0-9]) shift; echo $i;;
done