/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文本格式了,一劳永逸!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值