问题: 在win下写好的shell脚本,放到Linux上测试sh -n报错如下
ORA_check.sh: line 251: syntax error: unexpected end of file
原因:dos文件传输到unix系统时,会在每行的结尾多一个^M,在vi的时候,当你用如下命令:
vi dos.txt
:set fileformat=unix
:w
就会看到这些存在于每行结尾的^M符号,这个就是产生syntax error:unexpected end of file的原因
解决方案:
在vi下把这些^M都删除后即可。
也可以使用Linux下的工具:dos2unix也可轻松将一个windows下的文本文件转化为Unix兼容的格式