2010-05-13 1 views
1

Я хочу, чтобы инициализировать мое окружение Cygwin с переменной исходя из пакетного файлаЭкспорт переменной из пакетного файла Windows, чтобы Cygwin

@set myvar=test 
%BASH% --login -c "set" 
REM hope to see myvar 

Так что я хочу MYVAR с его значением в конечном итоге будут доступны в Баш.

+1

Окружающая среда передается подпроцессам, поэтому вы должны увидеть изменение переменной в bash. Если bash не делает очень странные вещи с окружающей средой, он проходит. – Joey

+0

Вы правы, сделайте это ответом, я соглашусь. – Pablo

ответ

0

Вы можете иметь пакетный файл добавить переменную в файл bash.bashrc создать Баш переменные окружения, например, так:

export croot=/cygdrive/c 

Затем доступ к этой переменной Крут как так

export cc=$croot/CC 

или

alias cdcc='cd $croot/CC' 

Путь на моей машине C:\cygwin\etc\bash.bashrc .. ваши могут отличаться.

Обратите внимание, что переменная не будет доступна при запуске сеансов cygwin, только новые.

+0

Запуск партии несколько раз, а затем забивает скрипт инициализации для bash. – Joey

+0

не очень хороший способ ... – Pablo