我试着从命令行运行我的shell脚本。
我的脚本如下所示:
#!bin/bash
echo hello当我尝试运行这个源代码./abcd.sh时,我得到了这个错误。
"' 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“前留一个空行有什么不对的吗?我想知道有没有其他人遇到过这样的事情。
发布于 2013-06-11 08:11:24
脚本的第一行是注释,听起来像是文件有DOS行结尾,回车被视为找不到的命令。这个错误消息听起来像是一个自定义的command_not_found_handle函数(我相信它是Ubuntu定义的)。
发布于 2013-06-11 07:26:14
#!bin/bash需要的是
#!/bin/bash或安装bash的位置(您可以通过执行whereis bash找到它)。
您的程序在使用bash调用时应该工作得很好,即bash ./abcd.sh,但是当直接执行./abcd.sh时,hashbang行确实很重要,因为这是可执行文件中包含的脚本的解释器所在的位置。
发布于 2013-06-11 07:23:26
试试echo 'hello',用引号括起来。看起来在echo命令和hello之间有一个换行符,它试图将'hello‘作为命令运行。
hashbang行应该是#!/bin/bash,但是弄乱这一行并不重要,因为它会将任何以散列开头的行解释为注释。
https://stackoverflow.com/questions/17034358
复制相似问题