Syntax

在後台執行命令但還要將其他命令連接到它?

  • December 29, 2016

我怎樣才能在一行中連接多個命令,同時又在後台執行它們?這些不起作用:

sleep 1m & && echo "goodbye" & && exit &.
sleep 1m & ; echo "goodbye" & ; exit &.
sleep 1m & echo "goodbye" & exit &.

我必須擁有所有命令才能影響前台會話。例如,exit &應該結束前台會話。

注意:我使用它作為at實用程序的替代品。為什麼我需要這個替代方案的故事很長,但可以從我在這裡提出的這些問題(並在下面按時間順序介紹)告訴我,遺憾的是我沒有一個令人滿意的解決方案(關於我的具體情況):

在這裡,dataved 的答案似乎很有希望。

怎麼樣

pid=$$; ( sleep 1; echo goodbye; kill $pid ) & echo hello

好吧,IMO,最好的方法是使用 screen 實用程序來避免麻煩:

1. screen -R <name-of-the-screen-session>
2. <the-command(s)> 
3. ctrl + a + d ### To exit the screen session
4. To log back: screen -x <name-of-the-screen-session>

引用自:https://unix.stackexchange.com/questions/333483