首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >my_script引发的错误为bash: /home/usr/bin/my_sript: bin/bash/ bad解释器:没有这样的文件或目录。如何纠正此错误?

my_script引发的错误为bash: /home/usr/bin/my_sript: bin/bash/ bad解释器:没有这样的文件或目录。如何纠正此错误?
EN

Stack Overflow用户
提问于 2017-04-02 12:34:01
回答 2查看 822关注 0票数 2

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

代码语言:javascript
复制
#!bin/bash
echo "hello world"

基于这个问题这里,我尝试:

文件是可执行的?我用:

代码语言:javascript
复制
chmod 755 my_script

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

代码语言:javascript
复制
which bash

/bin/bash

最后,

代码语言:javascript
复制
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./作为前缀,我可以在脚本上使用选项卡自动完成

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-02 12:37:08

脚本的第一行应该是

代码语言:javascript
复制
#!/bin/bash
  ^

它需要是#!,然后是一个绝对的bash路径。注意/bin之前的斜杠。

票数 3
EN

Stack Overflow用户

发布于 2017-04-02 12:38:07

第一行应该如下所示:

代码语言:javascript
复制
#!/bin/bash

你忘了后面的“/”!因此,系统无法找到正确(绝对)的bash路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43168363

复制
相关文章

相似问题

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