dos格式文件传输到unix系统时,会在每行的结尾多一个^M,即dos文件中的换行符“\r\n”会被转换为unix文件中的换行符“\n”,而此文件若是一个可执行文件的话,会导致此文件不能被执行,转换的方式有下面一个:
vi exec.sh
:set ff=unix(或者:set fileformat=unix)
:wq
如果以上步骤要求在一个shell批处理文件中完成,那么该怎么办?
可以这样:
vi +':w ++ff=unix' +':q' ${file}
这样一条命令就可以搞定了,但是要严格注意上面空格的位置,不能多不能少。
参见:
http://stackoverflow.com/questions/82726/how-do-i-convert-dos-files-to-linux-files-in-vim