Trong bash
, read
có một lựa chọn -t
nơi bạn có thể chỉ định một thời gian chờ. Từ manpage:
read [-ers] [-u fd] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d delim] [name ...]
-t timeout:
nguyên nhân đọc cho thời gian ra và gửi lại thất bại nếu một dòng hoàn toàn của đầu vào không được đọc trong thời gian chờ giây. Tùy chọn này không có hiệu lực nếu đọc không đọc đầu vào từ đầu cuối hoặc đường ống.
Transcript bên dưới (mà không cần nhấn ENTER):
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:29:15 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:29:25 WAST 2012
khác, nhấn Enter sau một vài giây:
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; date
Tue Feb 28 22:30:17 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:30:19 WAST 2012
Và khác, nhấn CTRL-C:
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:30:29 WAST 2012
Hit ENTER or wait ten seconds
Tôi hoàn toàn thích nó khi câu trả lời chi tiết như thế này được đưa ra. Kudos cho bạn! – Brian
ubuntu. -t - tuỳ chọn bất hợp pháp – ses
@ses, hãy đảm bảo bạn đang sử dụng nội trang dựng sẵn, không phải một số công cụ bên ngoài. – paxdiablo