Shell 脚本报错 syntax error near unexpected token `$’\r” 的解决方法

今天老王在 Linux 上运行一个 Shell 脚本时,报错 syntax error near unexpected token `$'{\r”,看错误类型是语法错误,但是检查了下代码发现并没有问题,后来才发现是因为 Windows 和 Linux 的回车换行符不兼容导致的,本文分享下解决方法。

一、问题原因

不同操作系统下的换行符格式是不一样的:

  • Mac:<CR>: /r
  • Windows:<CR><LF>: /r/n
  • Linux:<LF>: /n

所以直接将 Window 上的 Shell 脚本拷贝到 Linux 上直接就会报错 syntax error near unexpected token `$’\r”。

二、解决方法

解决方法也很简单,一般编辑器都支持档案格式转换,将文件格式转成 UNIX 格式即可。

或者在 Linux 上安装一个工具包:dos2unixapt-get install dos2unix),再转换即可:

dos2unix  xxx.sh

转换后就可以直接在 Linux 上运行脚本了。

赞(0)
关注我们
未经允许不得转载:老王博客 » Shell 脚本报错 syntax error near unexpected token `$’\r” 的解决方法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址