Estou trabalhando com select e case no bash. Atualmente, tenho nove opções, o que cria uma grade de opções agradável e organizada em 3x3, mas é exibida da seguinte forma:
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
Prefiro que seja exibido em linhas antes de colunas:
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
Existe alguma maneira de conseguir isso? De preferência, algo fácil de configurar e desarmar em um script, como uma opção de shell. Se isso importa, as opções são armazenadas em uma matriz e referenciadas nos blocos de caso pelo índice da matriz.
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
bash
shell-script
select
user67459
fonte
fonte