2012-08-15 10 views
11

Tôi đang sử dụng Windows XP với phiên bản Cygwin mới nhất. Nếu tôi đặt biến môi trường sau trong hệ thống Windows của mìnhLàm cách nào để Cygwin đọc chính xác các biến môi trường Windows của tôi?

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

và sau đó kích hoạt Cygwin, tôi không thể chuyển sang thư mục $ JBOSS_HOME kế thừa.

$ 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 

Có thể định nghĩa biến hệ thống của tôi một lần trong môi trường Windows và sau đó nhận được Cygwin để giải thích nó vì vậy mà tôi không có được điều này "Không có tập tin hoặc thư mục" cảnh báo?

Trả lời

10

Bạn có thể làm một trong hai điều ...

  • Thêm một lệnh để chuyển đổi các đường dẫn trong tập tin .bashrc của bạn, như vậy ...

export JBOSS_HOME=$(cygpath "$JBOSS_HOME")

hoặc

  • Chỉ cần đặt biến giữa dấu ngoặc kép khi tham chiếu, vì Cygwin un derstands đường dẫn kiểu DOS, mặc dù nó không thích chúng. Lý do lệnh là không cho bạn là có một không gian trong đường dẫn, vì vậy đặt nó trong dấu ngoặc kép sẽ có được con đường để được đọc một cách chính xác như một arg ...

cd "$JBOSS_HOME"

Lưu ý rằng bạn vẫn có thể nhận được "cảnh báo Cygwin" tương tự trong trường hợp này. Để làm điều đó biến mất, bạn cần phải thêm nodosfilewarning vào biến CYGWIN var của bạn như lời cảnh báo. Bạn có thể làm điều đó bằng cách thêm này trong tập tin .bashrc của bạn ...

export CYGWIN="${CYGWIN} nodosfilewarning"

2

Tôi đang sử dụng Eclispse với các plugin bóc vỏ,

tôi đã được thông báo tương tự, không biết cấu hình chính xác,

Tôi chỉ thêm giá trị xuất khẩu vào tập lệnh

'#!/bin/bash' 

export CYGWIN="${CYGWIN} nodosfilewarning" 

echo hello