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

相關文章
相關標籤/搜索