即使获得许可,.sh 文件也无法运行

即使获得许可,.sh 文件也无法运行

我很久以来就无法运行 .sh 文件。我不明白根本问题是什么(我对基于 Ubuntu/UNIX 的系统有点陌生)。当我尝试运行某些 .sh 脚本时,我收到以下错误,同时 Ubuntu 软件中心启动:

“无法打开文件“/home/user/Downloads/netbeans-8.1-cpp-linux-x86.sh”。

需要澄清的是,我一直直接双击文件系统中的 .sh 文件。

答案1

要安装sh脚本,您需要输入一些命令。双击它并不总是有效。因此,首先,打开终端,然后打开文件管理器并导航到脚本的位置sh

  1. 现在,在您的终端中输入以下命令(编辑相关部分):

    chmod a+x DRAG THE SH SCRIPT AND DROP IT HERE
    

笔记: 正如指出的那样科斯,这样做是为了如果您在任何时候希望按照如下所示运行它,那么您不会遇到任何错误。

./path/to/script
  1. 接下来输入:

    sh DRAG THE SH SCRIPT AND DROP IT HERE
    

如果出现任何错误,例如Permission Denied,则运行脚本root

sudo sh DRAG THE SH SCRIPT AND DROP IT HERE

答案2

Linux上一个简单脚本可能无法执行的原因有两个:

  1. 路径不正确。与 Windows 不同,当前目录是不是在 shell 的搜索路径中。因此,要调用当前目录中的脚本,您必须.在脚本名称前使用点指定当前目录:./script.sh。或者,您可以指定完整路径:/home/user/script.sh

  2. 脚本文件丢失。或者位于不同的道路。这个和上面一样。

您可以通过两种方式执行脚本:

  1. 在命令行上指定名称(带路径)。并且 - 如果权限正确 - 该文件将使用 shell 运行(如果舍邦是正确的)

  2. 使用 shell 命令sh并指定脚本作为参数。然后,不是指定路径是必要的,但是 shell 需要能够找到该脚本。您可以在当前目录中执行脚本,如下所示:sh script.sh

答案3

尝试命令“chmod 777”,然后输入文件名。要运行,请输入 sh 文件的名称,并在其前面加上 ./。例如:chmod 777 coolman.sh ./coolman.sh

相关内容