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