Cách đơn giản nhất để tạo menu tương tác là dùng vòng lặp vô tận: in menu, lấy lựa chọn, xử lý. Viết một vòng lặp như thế với bash không khó nhưng rườm rà, nghĩ tới là đã nản. May mắn thay bash có lệnh buillt-in select giúp việc tạo menu dễ như trở bàn tay. Dưới đây là một ví dụ Thực đơn quán bà Tám:
#!/bin/bashKết quả:
# menu.sh
PS3="Mời bạn chọn thực đơn: "
select thucdon in "Sáng" "Trưa" "Tối" "Thoát"; do
case "$thucdon" in
"Sáng")
echo "Bún bò + cafê đá"
;;
"Trưa")
echo "Cơm tấm sườn"
;;
"Tối")
echo "Bún chả cá"
;;
"Thoát")
break
;;
esac
done
$ sh menu.shChỉ có mấy lưu ý:
1) Sáng
2) Trưa
3) Tối
4) Thoát
Mời bạn chọn thực đơn: 1
Bún bò + cafê đá
Mời bạn chọn thực đơn:
- PS3: dùng để hiển thị dấu nhắc lựa chọn, nếu dùng select lồng nhau thì nhớ lưu và khôi phục giá trị này
- Kết thúc vòng lặp select bằng break
1 comment:
#!/bin/bash
for ((;;))
do
echo "---------MENU---------"
echo "1. Sang"
echo "2. Trua"
echo "3. Toi"
echo "4. Thoat"
echo "----------------------"
echo -n "Chon thuc don: "
read key
case "$key" in
1)
echo "Bun bo + cafe da"
;;
2)
echo "Com tam suon"
;;
3)
echo "Bun cha ca"
;;
4)
break
;;
esac
done
exit 0
Post a Comment