Com bash
builtins, você pode fazer:
coproc read -t 10 && wait "$!" || true
Dormir por 10 segundos sem usar sleep
. O coproc
é fazer para que read
o stdin seja um cano de onde nada saia.|| true
é porque wait
o status de saída refletirá uma entrega do SIGALRM, o que causaria a saída do shell se a errexit
opção estiver configurada.
Em outras conchas:
mksh
e ksh93
tersleep
embutido, não faz sentido usar qualquer outra coisa lá (embora ambos também suportem read -t
).
zsh
também suporta read -t
, mas também possui um wrapper interno select()
, portanto você também pode usar:
zmodload zsh/zselect
zselect -t 1000 # centiseconds
Se o que você quer é que as coisas cronograma a ser executado a partir de uma sessão de shell interativo, ver também o zsh/sched
módulozsh
.
sleep
?