Nohup
nohup
不能與 &&
一起正常工作
我想延遲後台執行,因為延遲我用於我使用
sleep [anyseconds] && [execution]
的後台nohup
nohup
單獨的簡單例子:
nohup date &>> out.log &
當然,您可以在 in 的執行中找到列印
date
輸出out.log
。但我想延遲執行,比如 15 秒,所以有點組合:
nohup sleep 15 && date &>> out.log &
這次它不能正常工作,
sleep 15
在.date``&&
有什麼問題
nohup
?它屈服於&&
??
我假設您在 bash 中,
nohup
系統的命令(coreutils)在哪裡。在 bash 中,
&&
標記命令行的結尾。在您的情況下,nohup
僅從 shell 獲取參數sleep 15
。剩下的就是 shell 的下一個命令。由於
nohup
不是外殼,因此您不能使用括號將參數“擴展”為nohup
,因為nohup
無法解釋它並且不知道如何處理它。一種解決方案是創建一個腳本(例如
sleepdate
),其中包含sleep 15 && date
並將其用作參數nohup
:nohup ./sleepdate &>> out.log &
或使用 bash (可以解釋
&&
)作為參數nohup
nohup bash -c 'sleep 15 && date' &>> out.log &