首页 文章

my_script抛出bash的错误:/ home / usr / bin / my_sript:bin / bash / bad interpreter:没有这样的文件或目录 . 我该如何纠正这个错误?

提问于
浏览
1

首先,脚本是一个'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 /游戏:在/ usr /本地/游戏:/ SNAP /斌:/ usr / lib中/ JVM / java的8甲骨文/斌:/ usr / lib中/ JVM / JAVA-8 ORACLE / DB /斌:在/ usr / LIB / JVM / JAVA -8- ORACLE / JRE / bin中

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

我甚至尝试在文件上运行dos2unix .

该脚本将在直接从目录运行时执行,并且如果我输入 bash hello_world 将在任何目录中执行 . 但是如果我使用 ./ 它会抛出错误

我没有't know if this will help, but it seems relevant: I can use tab autocomplete on the script if I don'前言 bash./

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

2 回答

  • 2

    你的脚本的第一行应该是

    #!/bin/bash
      ^
    

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

  • 1

    第一行应该是这样的:

    #!/bin/bash
    

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

相关问题