【问题标题】:.sh File Not Found.sh 文件未找到
【发布时间】:2015-05-22 07:38:51
【问题描述】:

我正在尝试在终端上执行 test.sh。

我的 test.sh 位于 /Home/monty 文件夹中,我将其设置为可执行文件:

chmod 755 test.sh

我尝试使用以下方法执行它: $./test.sh 我收到一个错误:

bash: ./test.sh: /usr/bin/bash: bad interpreter: No such file or directory

我尝试在终端上执行此操作:

$ PATH=$PATH:/Home/monty

但无济于事。 我该如何解决这个问题?

【问题讨论】:

  • test.sh 是否可执行(权限)?
  • 可能还需要export PATH=$PATH:/Home/monty。取决于 PATH 是否已经导出(尽管它可能已经导出)。
  • 是的,是@TomDalton。我刚刚编辑了这个问题。貌似和 execvp() 或者 python 没有关系。
  • /usr/bin/bash 存在吗?
  • 假设你的默认 shell 是 bash,那么在你的 shell 脚本[s]中使用#!/bin/sh 可能是最安全的。

标签: shell ubuntu sh


【解决方案1】:

您可能设置了错误的shabang。在 ubuntu 中,bash 通常位于/bin/bash,所以在文件的顶部你应该有:

#!/bin/bash

代替:

#!/usr/bin/bash

另一种运行脚本的方法是告诉bash(或sh)执行它:

bash ./test.sh

【讨论】:

  • 使用bash 成功了。谢谢。
【解决方案2】:

由于我的脚本是在 Windows 中编辑的,因此我通过将行尾从 CRLF 更改为 LF 解决了这个问题。

【讨论】:

  • 你是怎么做到的
  • 您可以(在 Windows 中)在 Notepad++ 编辑->EOL 转换->Unix (LF) 中进行操作
【解决方案3】:

在我的情况下,我做了sh file.sh,它肯定在那里,但在文件中我有cp /other/file.sh,而另一个文件丢失了。然而错误信息只写了sh file.sh: Not found

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-24
    • 2016-08-21
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2017-12-21
    • 2021-07-24
    相关资源
    最近更新 更多