嵌入式开发交流网论坛

标题: linux解决执行shell脚本bad-interpreter的方法 [打印本页]

作者: 回头把L妖孽    时间: 2021-1-14 12:10
标题: linux解决执行shell脚本bad-interpreter的方法
当我们在windows环境修改了shell脚本,上传到linux服务器后,执行会出现/bin/bash^M: bad interpreter:No such file or directory 的错误,这是因为脚本文件在windows下编辑过。可能被转换成Windows下的dos文本格式了,这样的格式每一行末尾的换行符都是以\r\n来标识。
windows下,换行符是\n\r,而在linux换行符是\n
这样,windows下编辑的文件传到linux后,每行结尾都会多个\r,导致执行错误。
[attach]56979[/attach]
使用,cat -A 文件名可以看到这个\r字符被显示为^M。
[attach]56980[/attach]
进入文件。
[attach]56981[/attach]
然后,在命令模式下按下 : 进入到底线命令模式。
[attach]56982[/attach]
输入set ff? 命令 可以看到文件格式是dos的格式。
[attach]56983[/attach]
继续按: 进入底线命令模式 使用set ff=unix命令回车。
[attach]56984[/attach]
然后使用set ff? 命令 可以看到文件变成了unix格式
[attach]56985[/attach]
之后:wq退出就可以了
[attach]56986[/attach]
成功执行脚本
[attach]56987[/attach]




欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2