Sto lavorando con select e case in bash. Al momento ho nove opzioni, il che rende una griglia di opzioni 3x3 piacevole, ordinata, ma viene visualizzata in questo modo:
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
Preferirei se visualizzato in righe prima delle colonne:
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
C'è un modo per raggiungere questo obiettivo? Preferibilmente qualcosa di facile da impostare e disinserire all'interno di uno script, come un'opzione shell. Se è importante, le opzioni sono memorizzate in un array e referenziate nei case case dall'indice dell'array.
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