在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++幫咱們轉換,均可以。