美文网首页
linux /bin/bash^M: bad interpret

linux /bin/bash^M: bad interpret

作者: 乔治大叔 | 来源:发表于2020-07-28 17:20 被阅读0次

Linux下执行shell脚本时报错:-bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory

原因是格式问题,windows下的文件是dos,而linux下的文件是unix格式。windows下的文件是dos每一行结尾以\r\n来标识,linux下的文件行尾则以\n来标识。

查看方式

cat -A <filename>,如果输出结果中行末尾是^M$,则是dos格式,如果行末尾只是$,则是linux格式。

修改方式

1.sed -i "s/\r//" <filename>或sed -i "s/^M//" <filename>,直接将回车符替换为空字符串。

2.vim <filename>,编辑文件,执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。

相关文章

网友评论

      本文标题:linux /bin/bash^M: bad interpret

      本文链接:https://www.haomeiwen.com/subject/ahfqrktx.html