我很久以来就无法运行 .sh 文件。我不明白根本问题是什么(我对基于 Ubuntu/UNIX 的系统有点陌生)。当我尝试运行某些 .sh 脚本时,我收到以下错误,同时 Ubuntu 软件中心启动:
“无法打开文件“/home/user/Downloads/netbeans-8.1-cpp-linux-x86.sh”。
需要澄清的是,我一直直接双击文件系统中的 .sh 文件。
答案1
要安装sh
脚本,您需要输入一些命令。双击它并不总是有效。因此,首先,打开终端,然后打开文件管理器并导航到脚本的位置sh
。
现在,在您的终端中输入以下命令(编辑相关部分):
chmod a+x DRAG THE SH SCRIPT AND DROP IT HERE
笔记: 正如指出的那样科斯,这样做是为了如果您在任何时候希望按照如下所示运行它,那么您不会遇到任何错误。
./path/to/script
接下来输入:
sh DRAG THE SH SCRIPT AND DROP IT HERE
如果出现任何错误,例如Permission Denied
,则运行脚本root
:
sudo sh DRAG THE SH SCRIPT AND DROP IT HERE
答案2
Linux上一个简单脚本可能无法执行的原因有两个:
路径不正确。与 Windows 不同,当前目录是不是在 shell 的搜索路径中。因此,要调用当前目录中的脚本,您必须
.
在脚本名称前使用点指定当前目录:./script.sh
。或者,您可以指定完整路径:/home/user/script.sh
脚本文件丢失。或者位于不同的道路。这个和上面一样。
您可以通过两种方式执行脚本:
在命令行上指定名称(带路径)。并且 - 如果权限正确 - 该文件将使用 shell 运行(如果舍邦是正确的)
使用 shell 命令
sh
并指定脚本作为参数。然后,不是指定路径是必要的,但是 shell 需要能够找到该脚本。您可以在当前目录中执行脚本,如下所示:sh script.sh
答案3
尝试命令“chmod 777”,然后输入文件名。要运行,请输入 sh 文件的名称,并在其前面加上 ./。例如:chmod 777 coolman.sh ./coolman.sh