我編寫了一個簡單的腳本來透過螢幕啟動兩個我的世界伺服器。我可以很好地運行它,但問題是它擊中了第一個命令並運行該行正常,但它然後進入它創建的屏幕並轉到伺服器而無需啟動第二行。我怎麼才能強制它啟動這兩個命令?
這是腳本:
#!/bin/bash
#Launches minecraft servers
#Plugin Test Server
screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar
#Khalidor Server
screen -S Khalidor java -Xms8192M -Xmx9216M -XX:MaxPermSize=128M -jar /home/kalenpw/KhalidorServer/spigot-1.10.jar
發生的情況是第一個 PluginTest 運行良好,但 Khalidor 的第二行從未運行。
答案1
如果將“&”添加到第一個命令的末尾,它將允許運行第二個命令。因此將第一個命令更改為:
screen -S PluginTest java -Xms1024M -Xmx1024M -XX:MaxPermSize=128M -jar /home/kalenpw/TestWorld/spigot-1.10.jar &
“&”使命令在背景運行。如果您也在第二個命令的末尾添加一個,則運行腳本後您將返回提示符,並且兩個命令都將在後台運行。您將能夠透過執行“jobs”命令來查看它們。