Оказывается, что Cygwin по умолчанию /etc/profile
проверяет переменную среды с именем CHERE_INVOKING
и запрещает изменение каталога, если установлено.
Так
set CHERE_INVOKING=1 \path\to\bash.exe -l -c command
имеет желаемое поведение.
Мне нужно запустить скрипт оболочки cygwin без изменения рабочего каталога, вне среды cygwin.
Если я запускаю только что \path\to\bash.exe -c command
, то путь не установлен правильно, и программы Cygwin не могут быть найдены.
Если я использую эту --login
опцию, bash
то правильно задаю путь, но также меняю свой домашний каталог.
Какие опции я должен использовать, чтобы запустить bash, чтобы сохранить текущий рабочий каталог, а также найти исполняемые файлы cygwin?
Оказывается, что Cygwin по умолчанию /etc/profile
проверяет переменную среды с именем CHERE_INVOKING
и запрещает изменение каталога, если установлено.
Так
set CHERE_INVOKING=1 \path\to\bash.exe -l -c command
имеет желаемое поведение.