首先,脚本是一个“hello world”脚本,它存储在~/jared/bin中。下面是剧本:
#!bin/bash
echo "hello world"基于这个问题这里,我尝试:
文件是可执行的?我用:
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或./作为前缀,我可以在脚本上使用选项卡自动完成
我担心,我在这里犯了一个非常愚蠢的错误,希望今天有人能让我感到难以置信的愚蠢。谢谢!
发布于 2017-04-02 12:37:08
脚本的第一行应该是
#!/bin/bash
^它需要是#!,然后是一个绝对的bash路径。注意/bin之前的斜杠。
发布于 2017-04-02 12:38:07
第一行应该如下所示:
#!/bin/bash你忘了后面的“/”!因此,系统无法找到正确(绝对)的bash路径。
https://stackoverflow.com/questions/43168363
复制相似问题