首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell脚本:找不到新行命令

Shell脚本:找不到新行命令
EN

Stack Overflow用户
提问于 2013-06-11 07:21:48
回答 5查看 10K关注 0票数 1

我试着从命令行运行我的shell脚本。

我的脚本如下所示:

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

echo hello

当我尝试运行这个源代码./abcd.sh时,我得到了这个错误。

代码语言:javascript
复制
"' is not a typo you can run the following command to lookup the package that contains the binary:
    command-not-found 
: command not found
hello
"

以前没见过在"echo hello“前留一个空行有什么不对的吗?我想知道有没有其他人遇到过这样的事情。

EN

回答 5

Stack Overflow用户

发布于 2013-06-11 08:11:24

脚本的第一行是注释,听起来像是文件有DOS行结尾,回车被视为找不到的命令。这个错误消息听起来像是一个自定义的command_not_found_handle函数(我相信它是Ubuntu定义的)。

票数 5
EN

Stack Overflow用户

发布于 2013-06-11 07:26:14

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

需要的是

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

或安装bash的位置(您可以通过执行whereis bash找到它)。

您的程序在使用bash调用时应该工作得很好,即bash ./abcd.sh,但是当直接执行./abcd.sh时,hashbang行确实很重要,因为这是可执行文件中包含的脚本的解释器所在的位置。

票数 2
EN

Stack Overflow用户

发布于 2013-06-11 07:23:26

试试echo 'hello',用引号括起来。看起来在echo命令和hello之间有一个换行符,它试图将'hello‘作为命令运行。

hashbang行应该是#!/bin/bash,但是弄乱这一行并不重要,因为它会将任何以散列开头的行解释为注释。

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

https://stackoverflow.com/questions/17034358

复制
相关文章

相似问题

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