我正在运行一个Debian8.2VM,并试图执行一个名为install.sh的文件。
我运行了以下命令:
上面的前两个命令给出了“配置缺失:安装失败”的错误。第三个命令提供了以下输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package install.sh
E: Couldn't find any package by regex 'install.sh'
我运行了chmod 700 install.sh以确保文件能够被执行。
我绝对找不到任何关于这种错误的东西。
发布于 2018-06-06 07:58:40
第一个命令是正确的(只要脚本位于当前目录中)。第三个命令离我们很远。第二组和第一组一样。
脚本正在运行:这不是不能运行脚本的错误。脚本中的某些命令失败了。但这就是我能告诉你的,因为我不知道剧本里有什么。
您不需要让它以sh script_name
的形式运行。如果它有一个启动#!…
的第一行,那么它就被设计成可执行并作为./script_name
运行。
如果脚本依赖于bash
(或其他高级shell)扩展。那么它可能不会在sh
中运行。
要调试脚本(如果是bash脚本),可以以bash -x script_name
的形式运行它
建议不要对可执行文件进行扩展:如果要用python或C重新编写,则必须重命名它。这不是个好想法。(如果一个文件是可执行的,那么它就是可执行的。它负责选择自己的解释器(请参阅#!
)。
发布于 2018-06-06 09:24:03
如果脚本是shell脚本,则前两个命令将运行脚本。但可能是Python。或者是awk。或者是完全不同的外壳。因此,为了安全起见,您不需要显式地提到.sh
,因为大多数编写良好的脚本都在第一行指定了正确的解释器。
chmod a+rx install.sh
./install.sh
https://unix.stackexchange.com/questions/448096
复制相似问题