【问题标题】:my_script throwing an error of bash: /home/usr/bin/my_sript: bin/bash/ bad interpreter: No such file or directory. How can I correct this error?my_script 抛出 bash 错误:/home/usr/bin/my_sript: bin/bash/ bad interpreter: No such file or directory。我该如何纠正这个错误?
【发布时间】:2017-08-27 08:37:39
【问题描述】:

首先,该脚本是一个“hello world”脚本,它存储在 ~/jared/bin 中。这是脚本:

#!bin/bash
echo "hello world"

基于这个问题here,我尝试了:

文件是可执行的吗?我用过:

chmod 755 my_script

我运行了以下命令,输出如下:

which bash

/bin/bash

最后,

echo $PATH

/home/jared/bin:/home/jared/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/ usr/lib/jvm/java-8-oracle/jre/bin

当我在 VIM 中编写脚本时,文件结尾是 UNIX。不过为了安全起见,我在 Sublime 和 Atom 中编写了额外的“hello world”脚本,但在运行它们时收到了同样的错误。

我什至尝试在文件上运行dos2unix

脚本将在直接从目录运行时执行,如果我输入bash hello_world,它将在任何目录中执行 但是,如果我使用./

,它会引发错误

我不知道这是否有帮助,但它似乎相关:如果我不以 bash./ 开头,我可以在脚本上使用选项卡自动完成功能

我担心,我在这里犯了一个非常愚蠢的错误,希望有人准备好让我今天感到非常愚蠢。谢谢!

【问题讨论】:

  • + 在这个问题上,因为你尝试了很多东西来解决这个问题。 :)

标签: linux bash


【解决方案1】:

脚本的第一行应该是

#!/bin/bash
  ^

它必须是 #! 后跟 bash 的绝对路径。注意/bin 之前的斜线。

【讨论】:

    【解决方案2】:

    第一行应该是这样的:

    #!/bin/bash
    

    你忘记了 '!' 后面的 '/'所以系统找不到正确的(绝对)bash路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 2014-12-16
      • 2022-11-25
      • 2018-02-22
      • 2018-06-07
      • 2018-12-23
      相关资源
      最近更新 更多