一、问题原因
不同操作系统下的换行符格式是不一样的:
- Mac:: /r
- Windows:: /r/n
- Linux:: /n
所以直接将 Window 上的 Shell 脚本拷贝到 Linux 上直接就会报错 syntax error near unexpected token `$’\\r”。
二、解决方法
解决方法也很简单,一般编辑器都支持档案格式转换,将文件格式转成 UNIX 格式即可。
或者在 Linux 上安装一个工具包:dos2unix
(apt-get install dos2unix
),再转换即可:
dos2unix xxx.sh
转换后就可以直接在 Linux 上运行脚本了。