私はbashでselectとcaseを使用しています。私には現在9つのオプションがあり、オプションの3x3グリッドをきれいに整頓していますが、次のように表示されます。
1) show all elements 4) write to file 7) clear elements
2) add elements 5) generate lines 8) choose file
3) load file 6) clear file 9) exit
列の前の行に表示したいのですが。
1) show all elements 2) add elements 3) load file
4) write to file 5) generate lines 6) clear file
7) clear elements 8) choose file 9) exit
これを達成する方法はありますか?シェルオプションのように、スクリプト内で簡単に設定および設定解除できるものが望ましい。必要に応じて、オプションは配列に格納され、配列のインデックスによってケースブロックで参照されます。
OPTIONS=("show all elements" "add elements" "load file" "write to file" "generate lines" "clear file" "clear elements" "choose file" "exit")
...
select opt in "${OPTIONS[@]}"
do
case $opt in
"${OPTIONS[0]}")
...
"${OPTIONS[8]}")
echo "Bye bye!"
exit 0
break
;;
*)
echo "Please enter a valid option."
esac
done