[英]Bash script how to sleep in new process then execute a command
所以,我想知道是否有一個bash命令讓我分叉一個睡眠幾秒鍾的進程,然后執行一個命令。
這是一個例子:
sleep 30 'echo executing...' &
^這實際上不起作用(因為sleep命令只接受時間參數),但有什么東西可以做這樣的事情嗎? 那么,基本上,一個睡眠命令需要一個時間參數,並在間隔完成時執行某些操作? 我希望能夠將它分成不同的進程,然后繼續處理shell腳本。
另外,我知道我可以編寫一個簡單的腳本來執行此操作,但由於對情況的一些限制(我實際上是通過ssh調用傳遞它),我寧願不這樣做。
你可以做
(sleep 30 && command ...)&
使用&&
比使用更安全;
因為它確保command ...
僅在睡眠定時器到期時才會運行。
您可以在后台調用另一個shell並使其執行您想要的操作:
bash -c 'sleep 30; do-whatever-else' &
睡眠的默認間隔以秒為單位,因此上述情況將睡眠30秒。 :您可以指定其他時間間隔像30m
30分鍾,或1h
1小時,或3d
3天。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.