Tôi đang làm việc với select và case in bash. Tôi hiện có chín tùy chọn, tạo ra một lưới các tùy chọn 3x3 đẹp, gọn gàng, nhưng nó hiển thị như vậy:
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
Tôi muốn nếu nó được hiển thị trong các hàng trước các cột:
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ó cách nào để thực hiện điều này? Tốt nhất là một cái gì đó dễ đặt và bỏ đặt trong tập lệnh, như tùy chọn shell. Nếu có vấn đề, các tùy chọn được lưu trữ trong một mảng và được tham chiếu trong các khối trường hợp theo chỉ mục của mảng.
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