Với bashnội dung, bạn có thể làm:
coproc read -t 10 && wait "$!" || true
Để ngủ trong 10 giây mà không sử dụng sleep. Điều coprocnày là để làm cho readstdin đó là một đường ống nơi không có gì sẽ xuất hiện. || truelà bởi vì waittrạng thái thoát sẽ phản ánh phân phối SIGALRM, điều này sẽ khiến shell thoát ra nếu errexittùy chọn được đặt.
Trong các vỏ khác:
mkshvà ksh93đã tích sleephợp sẵn, không có điểm nào trong việc sử dụng bất cứ thứ gì khác ở đó (mặc dù cả hai cũng hỗ trợ read -t).
zshcũng hỗ trợ read -t, nhưng cũng có một trình bao bọc dựng sẵn xung quanh select(), vì vậy bạn cũng có thể sử dụng:
zmodload zsh/zselect
zselect -t 1000 # centiseconds
Nếu những gì bạn muốn là lên lịch mọi thứ sẽ được chạy từ phiên shell tương tác, hãy xem thêm zsh/schedmô-đun trongzsh .
sleepvậy?