首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图执行一个.sh文件。但是,我得到了错误:配置缺失:安装失败

试图执行一个.sh文件。但是,我得到了错误:配置缺失:安装失败
EN

Unix & Linux用户
提问于 2018-06-05 23:37:57
回答 2查看 1.1K关注 0票数 0

我正在运行一个Debian8.2VM,并试图执行一个名为install.sh的文件。

我运行了以下命令:

  • sh ./install.sh
  • sh install.sh
  • apt-获取安装install.sh

上面的前两个命令给出了“配置缺失:安装失败”的错误。第三个命令提供了以下输出:

代码语言:javascript
运行
复制
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以确保文件能够被执行。

我绝对找不到任何关于这种错误的东西。

EN

回答 2

Unix & Linux用户

发布于 2018-06-06 07:58:40

第一个命令是正确的(只要脚本位于当前目录中)。第三个命令离我们很远。第二组和第一组一样。

脚本正在运行:这不是不能运行脚本的错误。脚本中的某些命令失败了。但这就是我能告诉你的,因为我不知道剧本里有什么。

您不需要让它以sh script_name的形式运行。如果它有一个启动#!…的第一行,那么它就被设计成可执行并作为./script_name运行。

如果脚本依赖于bash (或其他高级shell)扩展。那么它可能不会在sh中运行。

要调试脚本(如果是bash脚本),可以以bash -x script_name的形式运行它

建议不要对可执行文件进行扩展:如果要用python或C重新编写,则必须重命名它。这不是个好想法。(如果一个文件是可执行的,那么它就是可执行的。它负责选择自己的解释器(请参阅#!)。

票数 0
EN

Unix & Linux用户

发布于 2018-06-06 09:24:03

如果脚本是shell脚本,则前两个命令将运行脚本。但可能是Python。或者是awk。或者是完全不同的外壳。因此,为了安全起见,您不需要显式地提到.sh,因为大多数编写良好的脚本都在第一行指定了正确的解释器。

  1. 使脚本可执行:chmod a+rx install.sh
  2. 现在运行它:./install.sh
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/448096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档