私はメニュースタイルとコマンドラインスイッチスタイルインターフェイスの両方を使用できるbashスクリプトを作成しようとしています。私は、それが単にスクリプトの引数であるかのように、select
のメニューオプションにパラメータを渡す方法があるかどうか疑問に思っていました。例えば、私のスクリプトでは、junk -d file.txt
と言って、私のジャンクフォルダに移動するファイルを指定することができます。しかし、ユーザーがパラメータを指定しない場合は、select
オプションを使用する必要があります。すなわち1) move file 2) clear junk folder 3) watch folder
などbashでselectを使用してパラメータを渡す方法
このメニューでは、このオプションを記述してそのオプションに引数を送信できるようにしたいと考えています。 1 filetobemoved.txt
のように。私は$OPTARG
を、メニューによって呼び出されるメソッドの後に置いてみましたが、これは動作しないようです。
ここではメニューのコードはありますが、私はrecoverメソッドを呼び出して引数(ファイル名)を渡そうとしています。
if (($# == 0))
then if (($OPTIND == 1))
then select menu_list in list recover delete total watch kill exit
do case $menu_list in
"list") list;;
"recover") recover $GETOPT;;
"delete") delete;;
"total") total;;
"watch") _watch;;
"kill") _kill;;
"exit") exit 0;;
*) echo "unknown option";;
esac
done
fi
ありがとうございました。