LF,CR,CRLF换行符比较

在windows写了个shell,

1
2
3
cd /data/www/
rm ./*
echo "DONE"

通过rz工具上传到linux执行

1
: No such file or directory /data/www

用vim打开后在每个换行符的位置发现了 ^M 标记

换行符种类

不同操作系统使用的换行符编码不相同

OS 换行符 标记 ASCII
Linux LF \n 0x0A
Windows CRLF \r\n 0x0D0A
MAC(9版本之前) CR \r 0x0D
MAC LF \n 0x0A

常用编辑器修改换行符设置

vim

1
2
3
vim /etc/vimrc
添加
set fileformats=unix

在vim中可以输入 :set ff 查看当前设置

sublime text

  • Preferences -> Settings - * 修改 default_line_ending
  • View -> Line Endings

atom

右下角 CRLF / LF 即可切换