Trong bài viết nho nhỏ này, chúng ta cùng đến với 1 chủ đề cực kì cơ bản trong lập trình bash shell, một tình huống rất là phổ biến trong mọi ứng dụng : yêu cầu xác nhận yes/no xử lý flow code.
Thế với bài viết này cùng nhắc qua 2 cách thường để hiển thị thông báo ‘yes/no‘ trong bash shell script nào.
1. Cách 1 – ‘read’
– Cách tốt nhất để hiển thị thông báo xác nhận đó là sử dụng lệnh ‘read‘ để nhận truyền biến và áp dụng điều kiện ‘if‘ để so sánh.
– Bạn có thể truyền vào biến cụ thể hoặc sử dụng biến GLOBAL của ‘read‘ là $REPLY nhé.
Ví dụ 1 :
# vi yesno.sh
#!/bin/bash read -p "Ban muon tiep tuc khong (yes/no) ? " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]];then echo "Khong thi thoat nha!" exit 1 fi exit 0
– Chạy thử nào.
# ./yesno.sh Ban muon tiep tuc khong (yes/no) ? n Khong thi thoat nha!
2. Cách 2 – ‘read’ + ‘case’
– Một trong những cách phổ biến thứ 2 để hiển thị thông báo ‘yes/no‘ xác nhận là sử dụng sự kết hợp giữa ‘read‘ và ‘case‘.
Ví dụ 2:
#!/bin/bash while true do read -p "Ban co muon cai dat chuong trinh nay khong ?" ANSWER case $ANSWER in [Yy]* ) echo "Toi muon cai dat !" break ;; [Nn]* ) echo "Toi khong thich cai dat !" exit ;; * ) echo "Chon lua chon khac" ;; esac done exit 0
– Test nào.
# ./yesno.sh Ban co muon cai dat chuong trinh nay khong ?y Toi muon cai dat ! # ./yesno.sh Ban co muon cai dat chuong trinh nay khong ?n Toi khong thich cai dat !
Ok, thế là xong nội dung đơn giản cho các bạn mới tập tành lập trình bash shell script nhé. Hy vọng các newbie thấy hữu ích.