-bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''报错问题解决

在Linux系统配置Java环境变量以后执行 source /etc/profile指令报:-bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''以下图:linux

错误提示信息已经反馈/etc/profile里面有一些异常,初步检查/et/profile文件后,没有发现异常,非常奇怪,后面我使用cat -v /etc/profile检查,发现里面大量的Windows下的换行符。以下截图所示shell

得知是Linux和windows下的回车换行符不兼容的问题。windows

因此,剩下的就是去将windows下面的CR LF,转换为Linux下面的LF,便可。bash

此处,不须要再麻烦地去用其余dos2unix等工具了,notepad++就能够帮忙搞定:工具

编辑->档案格式转换->转换为UNIX格式:unix

便可将全部的 CR LF,转换为LF:blog

因此,越加发现notepad++的强大之处了。token

而后再运行此shell脚本,便可正常运行了。变量

【总结】配置

linux/cygwin下面的shell脚本出现错误:

syntax error near unexpected token `$’do\r”

是因为该脚本文件是在windows环境下建立编辑的,其默认是将全部的回车变成:

CR加上 LF,而Linux/Unix中的回车只是LF,因此致使解释器不认,出现此错误。

解决办法就是,将全部的CRLF转换为LF便可。

转换的方法有多种,好比用dos2unix,或用此处的notepad++帮咱们转换,均可以。

相关文章
相关标签/搜索