运行SHELL报错“-BASH: ./TEST.SH: /BIN/BASH^M: BAD INTERPRETER: NO SUCH FILE OR DIRECTORY”

Posted 张志翔ۤ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行SHELL报错“-BASH: ./TEST.SH: /BIN/BASH^M: BAD INTERPRETER: NO SUCH FILE OR DIRECTORY”相关的知识,希望对你有一定的参考价值。

解决运行shell报错

-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

什么原因呢, 有理由怀疑是文件格式问题?我们用vim test.sh进入test.sh这个文件,然后在底部模式下,执行:set ff查看一下,结果发现fileformat=dos, 看看,果然是文件格式问题,那怎么解决呢?

解决办法

[root@admin .sh]# vim test.sh

执行 :e ++ff=unix %然后删除^M符号
保存退出就可以了

或者:

[root@admin .sh]# sed -i "s/\\r//" test.sh

或者:

[root@admin .sh]# dos2unix test.sh

或者: vim test.sh打开文件,执行:set ff=unix设置文件为unix,然后执行:wq,保存成unix格式。

以上是关于运行SHELL报错“-BASH: ./TEST.SH: /BIN/BASH^M: BAD INTERPRETER: NO SUCH FILE OR DIRECTORY”的主要内容,如果未能解决你的问题,请参考以下文章

shell编程报错:“syntax error near unexpected token `”

[Jenkins]运行shell报错:寻找匹配的 `"' 是遇到了未预期的文件结束符

关于windows下编写的shell脚本在linux下无法运行报错问题

全网首发:MAC上运行SHELL脚本,typeset -l报错

Windows编写shell脚本,Linux运行不起来,报错

Windows编写shell脚本,Linux运行不起来,报错