您的位置:首页 > 运维架构 > Shell

shell脚本调试报错:"syntax error: unexpected end of file"

2015-12-02 15:48 696 查看
当我使用window文本工具编写Unix的shell脚本并使用rz命令上传到Unix系统运行时总是报错"syntax error: unexpected end of file",后来才发现,window系统和Unix系统之间的编码方式是不同的。

以前的打字机换行分为两步:复位和走纸,但不同的操作系统中复位和走纸的表示方法不同。

于是,unix/mac下的文件如果在windows里打开,所有文字会变成一行;而windows的文件在unix/mac下打开,每行的结尾会多出一个 ^M 符号。

我想在linux下执行一个shell脚本,而它恰巧又在windows中打开过,于是我就狠狠地摔在了这个坑里。解决的办法自然很简单,一个dos2unix命令即可。

OS表示C语言/转义字符HEX表示
Window回车+换行符(CR/LF)\r\n0x0d0a
Unix/Linux换行(LF)\n0x0a
Mac OS回车(CR)\r0x0d
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: