在执行Java程序时在Linux上使用chmod + x后获得权限被拒绝

时间:2014-02-26 06:19:13

标签: java linux permissions chmod

这是我的可执行文件:

  #!/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之后,我获得了this

3 个答案:

答案 0 :(得分:0)

看起来./server.sh之间有空格,因此您尝试执行./

答案 1 :(得分:0)

您可以通过进入上一个目录来运行命令“ls -l”,并检查权限是否应用于该文件。

如果没有,则检查用户是否具有更改权限。否则,您可以使用主要具有所有权限的“root”用户。

as mentioned in the image

答案 2 :(得分:0)

看起来您在其他平台(可能是Windows)上编写此server.sh脚本并将其复制到Linux系统,这两个系统使用不同的字符作为行尾,因此请尝试将其转换为Linux格式首先由dos2unix server.sh


如果您的系统没有dos2unix,则可以通过

进行安装
    Fedora上的
  1. yum install dos2unix

  2. 关于Debian apt-get install dos2unix

  3. 两者都需要root权限。

    如果您不能或不想安装dos2unix,则另一个选项是使用vim(它应该在普通的Linux机器中可用):

    1. vim server.sh
    2. :set ff=unix
    3. :w