2013-07-14 26 views
5

Tôi muốn tạo cuộc thăm dò trong tập lệnh shell:Cách phát hiện khi người dùng nhấn ESC và làm điều gì đó trong tập lệnh shell

echo "1 - Tên bạn là gì?"
đọc tên
echo "tên của bạn là $ name"

echo "2 - quốc gia của bạn là gì?"
đọc nước
echo "đất nước của bạn là $ country"
...
... vv ...
...

Tôi muốn nếu ESC sử dụng báo chí trong một câu hỏi, hủy bỏ đặt câu hỏi cho câu hỏi tiếp theo.

Cảm ơn! Tôi tiếp tục chờ đợi câu trả lời của những người sở hữu!

+1

Bạn đang làm việc với vỏ nào? –

+0

Tôi đang sử dụng #!/Bin/sh ... myscript ... – Manuel

+1

Hãy xem tại đây http://stackoverflow.com/questions/5297638/bash-how-to-end-infinite-loop-with -any-key-pressed – Bart

Trả lời

4

đây là làm thế nào để biết nếu người dùng chọn thoát:

read -s -n1 key 

case $key in 
    $'\e') echo "Escape";; 
esac 
+0

Điều này sẽ chỉ hoạt động trong 'bash' (không phải tất cả các hệ điều hành đều sử dụng' bash' cho '/ bin/sh' theo mặc định). – chepner

Các vấn đề liên quan