2012-04-25 85 views
1

我正在試着製作一個簡單的文件,所以我可以在SSH中調用它並啓動我的Minecraft服務器。 我試圖使所謂的start.bat與此代碼的批處理文件:可執行文件在CentOS 5上運行java

的java -Xmx512M -jar -Xmx512M craftbukkit-1.2.5-R1.0.jar NOGUI

然而,當我在SSH運行它:

$ CD /我的世界/服務器1/

$的start.bat

SSH返回它是一個無效或未知的命令。有沒有其他的方法可以讓我的快速命令/文件啓動我的服務器?我將使用什麼文件擴展名來實現此功能?如果我將這個java命令粘貼到SSH中並運行它,它會起作用,但我寧願有一個文件。

+1

..爲什麼您在那裏時不包含錯誤消息?它本來是一行...... – sarnold 2012-04-25 03:11:35

+0

不,SSH只是說「start.bat是一個未知的命令」 – Anonymous 2012-04-25 03:15:53

+0

順便說一句,'ssh'沒有說什麼 - 它是'bash'報告命令wasn'已知。 – sarnold 2012-04-25 03:19:12

回答

2

默認情況下,當前工作目錄是而不是,因爲它在多用戶系統上存在安全風險,因此默認包含在您的PATH中。 (即使在單個用戶的計算機上也有潛在的問題。)您將使用./start.bat來啓動該程序。

由於您使用的是Windows命名約定,因此我認爲您還忘記設置執行模式位 - 而且您可能還忘記了文件頂部的shebang line

試試這個:該文件

#!/bin/sh 
java -Xmx512M -Xmx512M -jar craftbukkit-1.2.5-R1.0.jar nogui 

運行chmod 500。 (嚴格地說,如果你不介意執行文件的機器上的其他人,555也可以工作,但他們不需要,所以不要讓它們)。請參閱chmod(1)聯機幫助頁以獲取有關模式的更多詳細信息 - 1比特意味着可執行2比特意味着可寫,和4位裝置readable - 因此,5可執行和可讀

然後,當你要運行腳本,這樣運行:

cd /Minecraft/server_1 
./start.bat 

注意./ - 這意味着,外殼應啓動在當前工作目錄下的可執行程序的搜索。 (這可能是./bin/start.bat如果你當前的工作目錄有bin子目錄與start.bat可執行文件。)

2

是可執行的start.bat?確保你有#!/ bin/sh作爲文件的第一行。此外,該目錄可能不在路徑中,因此請嘗試以下操作:

$ chmod 555 start.bat 
    $ ./start.bat 
相關問題