Background
- 总是遇到脚本文件在windows和linux平台格式转换的问题。
- 在执行shell脚本时提示这样的
错误1($'\r': command not found) 主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识。 - cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$。
- 这里记录下,方便以后查找。
一、文件格式
vim 打开文件,执行如下命令查看。
:set ff?
# 或
:set fileformat?
vim 打开文件,执行如下命令转换后保存退出即可。
: set ff=unix
或
:set fileformat=unix
sed -i 's/^M//g' filename
yum -y install dos2unix
dos2unix filename
二、文件编码格式
vim 打开文件,执行如下命令。
:set fileencoding
:set fileencoding=utf-8
三、换行符
vim 打开文件,执行如下命令。
:set list
:set nolist
|