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命令即可。
以前的打字机换行分为两步:复位和走纸,但不同的操作系统中复位和走纸的表示方法不同。
于是,unix/mac下的文件如果在windows里打开,所有文字会变成一行;而windows的文件在unix/mac下打开,每行的结尾会多出一个 ^M 符号。
我想在linux下执行一个shell脚本,而它恰巧又在windows中打开过,于是我就狠狠地摔在了这个坑里。解决的办法自然很简单,一个dos2unix命令即可。
OS | 表示 | C语言/转义字符 | HEX表示 |
Window | 回车+换行符(CR/LF) | \r\n | 0x0d0a |
Unix/Linux | 换行(LF) | \n | 0x0a |
Mac OS | 回车(CR) | \r | 0x0d |
相关文章推荐
- 转CentOS — MySQL备份 Shell 脚本
- adb shell su 后不能写命令
- HBase的Shell操作
- XenDesktop 7.6 powershell commands cheat sheet
- Linux shell 的字符串截取
- bash 基本功能
- awk中使用shell的环境变量
- shell 基本学习
- SHELL脚本的一些特殊用法
- Linux Shell下的后台运行及其前台的转换
- 一些值得收藏的PowerShell工具
- shell 将当前目录下所有文件的文件名逆序
- SimpleGraphX PageRank shell
- shell脚本调试之工具——bashdb
- xshell使用rz,sz指令实现文件的上传,下载功能
- shell 学习记录
- shell脚本学习(二)
- spark-shell on yarn 出错解决【启动命令bin/spark-shell --master yarn-client出现错误,类ExecutorLauncher 找不到】
- 企业shell编程基础问题解决实践-是骡子是马溜溜!
- linux shell单引号、双引号及无引号区别 【转】