/bin/bash^M: bad interpreter 错误解决方式

我们写shell脚本的时候,新手在vim模式编辑总感觉不顺手,很多语法上的注意点动不动就会出错,所以经常借助sublime等工具编写shell脚本,然后上传到Linux上去,不过如果你是在windows环境下使用sublime编写脚本的话,在Linux中运行脚本的时候会出现/bin/bash^M: bad interpreter的错误,这是因为文件在windows环境下编辑之后默认成了dos文本格式每行的末尾结束符是用\r\n来标识的,Linux识别不了。

如何判断自己的脚本文件是否为dos文本格式?

输入:set ff?命令看输出是否是fileformat=dos

解决方式

输入:set ff=unix命令改成unix文本格式,不过这个方式,凡是dos文本格式的脚本都要执行这个操作,很是麻烦,如果你用的是sublime工具的话可以在 菜单栏-->首选项 --> 设置-默认 -->打开Preference-settings文件,修改如下属性:

// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).
 "default_line_ending": "system",

这个属性默认是system改成unix就好了,这样以后用sublime编写shell脚本的时候都默认成unix文本格式了,一劳永逸!

猜你喜欢

转载自blog.csdn.net/zzf1510711060/article/details/81171270
今日推荐