本文共 522 字,大约阅读时间需要 1 分钟。
执行shell脚本时出现格式错误提示,通常是因为文件 embraces DOS格式末尾字符\r\n,而不是UNIX格式的\n。以下是判断文件格式的几种方法:
使用cat命令:
-运行命令cat -A filename
,观察每行结尾符。DOS格式文件末尾为^M$
,而UNIX格式文件为\n$
。使用od命令:
-执行od -t x1 filename
,查看字符,DOS文件会显示0d 0a
,而只显示0a
的是UNIX格式。使用vi编辑器:
-打开文件,输入命令:set ff
,DOS格式会显示fileformat=dos
,而UNIX格式显示为fileformat=unix
。文件格式转换方法如下:
使用dos2unix工具:
-运行命令dos2unix filename
,直接将文件转换为UNIX格式。使用sed命令:
-替换所有\r\n为\n,sed -i "s/\r//" filename
;-或者只替换结尾符,sed -i "s/^M//" filename
。使用vi编辑器:
-打开文件,输入命令:set ff=unix
,保存时执行:wq
,将文件转换为UNIX格式。以上方法适用于不同场景,选择最合适的工具进行转换即可解决问题。
转载地址:http://vewfk.baihongyu.com/