这是我的可执行文件:
#!/bin/bash
JAVA_HOME=/cad2/ece419s/java/jdk1.6.0/
# arguments to GameServer
# $1 = port # where GameServer is listening
${JAVA_HOME}bin/java GameServer $1
我将chmod
命令运行为:
chmod +x server.sh
然后:
./ server.sh 8000
8000是我的服务器正在侦听的本地计算机的端口。
在bash -x server.sh 8000
之后,我获得了
答案 0 :(得分:0)
看起来./
和server.sh
之间有空格,因此您尝试执行./
。
答案 1 :(得分:0)
您可以通过进入上一个目录来运行命令“ls -l”,并检查权限是否应用于该文件。
如果没有,则检查用户是否具有更改权限。否则,您可以使用主要具有所有权限的“root”用户。
答案 2 :(得分:0)
看起来您在其他平台(可能是Windows)上编写此server.sh
脚本并将其复制到Linux系统,这两个系统使用不同的字符作为行尾,因此请尝试将其转换为Linux格式首先由dos2unix server.sh
。
如果您的系统没有dos2unix
,则可以通过
yum install dos2unix
关于Debian apt-get install dos2unix
两者都需要root权限。
如果您不能或不想安装dos2unix
,则另一个选项是使用vim
(它应该在普通的Linux机器中可用):
vim server.sh
:set ff=unix
:w