Со 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?