在CentOS 5上运行java的可执行文件

时间:2012-04-25 03:10:53

标签: centos minecraft

我正在尝试制作一个简单的文件,以便我可以在SSH中调用它,它将启动我的Minecraft服务器。 我尝试使用以下代码创建一个名为start.bat的批处理文件:

  

java -Xmx512M -Xmx512M -jar craftbukkit-1.2.5-R1.0.jar nogui

但是,当我在SSH中运行时:

  

$ cd / Minecraft / server_1 /

     

$ start.bat

SSH返回它是无效或未知的命令。有没有其他方法我可以快速命令/文件来启动我的服务器?我将使用哪些文件扩展名来实现此功能?如果我在SSH中粘贴该java命令并运行它,它可以工作,但我宁愿有一个文件。

2 个答案:

答案 0 :(得分:2)

默认情况下,当前工作目录 not 包含在PATH中,因为它在多用户系统上存在安全风险。 (即使在单用户的计算机上也存在潜在的烦恼。)您可以使用./start.bat来启动该程序。

由于您使用的是Windows命名约定,我认为您也忘了设置执行模式位 - 您可能也忘记了文件顶部的shebang line

试试这个:

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

在此文件上运行chmod 500。 (严格地说,555也可以工作,如果你不介意机器上的其他人执行文件。但他们不需要,所以不要让他们。)见{{1}有关模式的更多详细信息,请参阅manpage - chmod(1)位表示可执行1位表示可写2位表示4 - 因此,readable 可执行且可读

然后,当您想要运行脚本时,请按以下方式运行:

5

注意cd /Minecraft/server_1 ./start.bat - 这意味着shell应该开始搜索当前工作目录中的可执行程序。 (如果当前工作目录的./子目录带有./bin/start.bat可执行文件,则可能为bin。)

答案 1 :(得分:2)

start.bat可执行文件吗?确保将#!/ bin / sh作为文件的第一行。此目录可能不在路径中,因此请尝试:

    $ chmod 555 start.bat
    $ ./start.bat