一、文件格式
当我们打开sh脚本时发现有时候格式是unix(LF) ,有时候是windows(CR LF) 。如下图:
文件格式影响了文件中的换行符
linux中sh类型的文件一般要设置为unix格式,否则可能会报错
老式的电传打字机使用两个字符来代表换行。一个字符把滑动架移回首位 (称为回车, CR),另一个字符把纸上移一行 (称为换行, LF)。
当计算机问世以后,人们对换行的处理没有达成一致意见。
UNIX 开发者决定用 LF 一个字符来表示行尾。
Apple 开发者规定了用 CR 。
开发 MS-DOS (Windows)开发者则决定沿用CRLF。
这就是说,把一个文件从一种系统移到另一种系统,就有换行符的麻烦。如:用 vi 来尝试编辑一个采用 MS-DOS 格式的文件,你将会发现每一行的末尾有个 ^M 字符。(^M 就是 CR)。
set ff=unix ,就是告诉 vi 编辑器,使用unix换行符
set ff=dos ,就是告诉 vi 编辑器,使用dos换行符
二、如何查看文件格式
1. 输入【vi filename 】进入文件内部
2. 输入【:set ff】然后enter回车,查看文件格式
三、设置文件格式、set ff=unix
1. 输入【vi filename 】进入文件内部
2. 输入【:set ff=unix】然后enter回车
3. 输入【:wq】 保存退出
四、查看unix与dos的区别
执行【cat -v filename】命令查看内容
dos模式下的换行符有^M标志
unix模式下没有^M符号