2012-08-15 27 views
11

我正在使用Windows XP和最新版本的Cygwin。如果我在Windows系統上我如何才能讓Cygwin正確讀取我的Windows環境變量?

JBOSS_HOME=C:/Program Files/jboss-4.2.3.GA 

設置以下環境變量,然後火了Cygwin的,我無法切換到繼承$ JBOSS_HOME目錄。

$ cd $JBOSS_HOME 
cygwin warning: 
    MS-DOS style path detected: C:/Program 
    Preferred POSIX equivalent is: /cygdrive/c/Program 
    CYGWIN environment variable option "nodosfilewarning" turns off this warning. 
    Consult the user's guide for more details about POSIX paths: 
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 
-bash: cd: C:/Program: No such file or directory 

是否有可能在Windows環境中,一旦確定我的系統變量,然後拿到Cygwin來解釋它,這樣我沒有得到這個「沒有這樣的文件或目錄」的警告?

回答

10

你可以做兩件事情之一......

  • 添加一個命令將路徑轉換你的.bashrc文件,是這樣的...

export JBOSS_HOME=$(cygpath "$JBOSS_HOME")

  • 只需在引用它時引用該變量,因爲Cygwin un確定DOS樣式的路徑,即使它不喜歡它們。命令失敗對於你的原因是,有路徑的空間,因此將其放入引號將得到的路徑將被作爲一個ARG正確讀取...

cd "$JBOSS_HOME"

注意在這種情況下,你仍然可以得到同樣的「cygwin警告」。爲了避免這種情況發生,您需要將nodosfilewarning添加到您的CYGWIN變種中,正如警告中所建議的那樣。你可以通過在你的.bashrc文件中添加此...

export CYGWIN="${CYGWIN} nodosfilewarning"

2

我使用Eclispse與帶殼的插件,

我得到了相同的通知,不知道準確的配置,

我只是將輸出值添加到腳本中

'#!/bin/bash' 

export CYGWIN="${CYGWIN} nodosfilewarning" 

echo hello 
相關問題