2013-11-27 26 views
0

我在Windows7中使用Intellij-idea,我想運行並在Cygwin上運行我的項目。 我安裝了Cygwin,現在我只有Cygwin終端。 我添加到環境變量下的路徑cygwin在贏7位bash命令

C:\Program Files\TortoiseGit\bin; 
C:\cygwin64\bin; 
C:\maven\apache-maven-3.1.1\bin; 
C:\Program Files (x86)\Git\bin 

當我這樣做

git checkout MYBRANCH 
git status 
git commit -m "note" 

它的工作。 但是當我在當前窗口做

git push origin MYBRANCH 

創建新行(喜歡思考),但什麼都沒有發生 ,所以我不能做俯臥撐

,當我嘗試做清潔或安裝我得到這個錯誤

$ mvn clean 
/cygdrive/c/maven/apache-maven-3.1.1/bin/mvn: line 20: $'\r': command not found 
/cygdrive/c/maven/apache-maven-3.1.1/bin/mvn: line 36: $'\r': command not found 
/cygdrive/c/maven/apache-maven-3.1.1/bin/mvn: line 53: syntax error near unexpected token `$'in\r'' 
'cygdrive/c/maven/apache-maven-3.1.1/bin/mvn: line 53: `case "`uname`" in 

該文件mvn:在行20和36我有空白行。 和53:

case "`uname`" in 
    CYGWIN*) cygwin=true ;; 
    MINGW*) mingw=true;; 
    Darwin*) darwin=true 

請你幫忙 謝謝

回答

0

\ r是一個回車,這是DOS」 newline表示的一部分。你將不得不將文件轉換爲Unix行尾。這樣看來,你可以使用tr Cygwin的範圍內這樣做(代碼從第二個鏈接):

tr -d '\15\32' <winfile.txt> unixfile.txt 
1

我有同樣的問題,dos2unix mvn mvn爲我工作。

+0

'dos2unix mvn mvn'或'dos2unix mvn'?謝謝你的回答! – FazoM

0

Cygwin的工作與換行符(\ n),而Windows配合使用回車換行符(\ r \ n)的。

在Intellij中有一個行分隔符下拉在狀態欄右下角的閱讀CRLF。將其切換爲LF並再次運行腳本。

Intellij line seperator at the bottom right

您還可以通過更改行分隔符File>Line Separators

來源:https://www.jetbrains.com/help/idea/2016.2/configuring-line-separators.html

另外,你可以在你的混帳配置或通過git的設置autocrlf = false禁用結帳爲CRLF功能bash:

git config --global core.autocrlf true