2017-06-20 85 views
0

我在Ubuntu 17.04執行一個命令,我想按順序執行某些命令,所以我寫了這個shell腳本:在一個新的終端窗口

#! 


sudo java -jar ~/Desktop/PlugtestServer.jar 
sudo /opt/lampp/lampp start 
sudo node httpServer.js 

的問題是,經過第一個命令,它執行PlugtestServer,然後停下來,因爲它是一個服務器並繼續執行它。有一個命令爲了自動打開一個新的終端並在其中執行PlutestServer?

回答

0

您的腳本停留在顯示輸出的第一個命令上,您可以通過在行尾添加「&」來使shell繼續前進。但是,如果您希望在註銷時繼續運行PlugTestServer,則這可能仍然無法達到您想要的效果。爲此,您應該包含「nohup」,它將在管道輸出到文件時保持命令運行。 所以,一個例子:

#!/bin/sh 
nohup java -jar ~/Desktop/PlugtestServer.jar > plugtest.out & #Pipes output to plugtest.out, use /dev/null if you don't care about output. 
/opt/lampp/lampp start 
node httpServer.js 

通知我從腳本刪除須藤。通常用「sudo」調用腳本通常會更好,除非您有特定的理由,至少可以簡化命令。

我不知道如果你的第二個和第三個命令「叉」或「塊」,所以如果你需要添加「nohup」和「&」。

相關問題