这和Linux断行格式有关.DOS(Windows系统)使用的断行字符为^ M $,我们称为CR与LF两个符号。而在Linux底下,则是仅有LF($)这个断行符号。
在Linux底下打开Windows的档案时,由于DOS的断行符号是CRLF,就会多了一个^ M的符号出来。
在这样的情况下,如果是一个shell脚本的程序档案,将可能造成“程序无法执行“的状态〜因为他会误判程序所下达的指令内容。

处理方法:
1、可以使用dos2unix来转换: dos2unix filename

2、用vi打开文件,使用 :%s/^M$//g/ 可以删除所有结尾的^M。 注意这里的^M 是要Ctrl+V 和Ctrl+M 输入的。

3. 直接修改一个代码目录下的所有

find . -type f -exec dos2unix {}

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐