sed -i 's/\r$//' filename #flename即shell脚本文件名
这个命令会把以\r结束的字符换成空白
\r是回车符,\n是换行符。
windows下每一行的结尾是\n\r,而在linux下文件的结尾是\n
这样window写编辑的shell脚本拷贝到linux下时
每一行的结尾就会多出来一个字符\r
这个\r字符会被显示为^M
所以就会出现错误提示" /bin/bash^M: bad interpreter: No such file or dire",
字面意思就是/bin/bash^M: 坏的解释器: 没有那个文件或目录