З bash
вбудованими можливостями ви можете:
coproc read -t 10 && wait "$!" || true
Спати 10 секунд без використання sleep
. Потрібно coproc
зробити так, щоб read
stdin - це труба, з якої нічого не вийде. || true
це тому wait
, що статус виходу буде відображати доставку SIGALRM, що призведе до виходу оболонки, якщо встановлено errexit
параметр.
В інших оболонках:
mksh
і ksh93
має sleep
вбудований, немає сенсу використовувати що - небудь ще там (хоча обидва вони підтримують read -t
).
zsh
також підтримує read -t
, але також має вбудовану обгортку навколо select()
, тому ви також можете використовувати:
zmodload zsh/zselect
zselect -t 1000 # centiseconds
Якщо то , що ви хочете планувати речі , щоб бути запущений з інтерактивною сесії оболонки, дивіться також zsh/sched
модуль вzsh
.
sleep
?