12

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

Если я запускаю просто \path\to\bash.exe -c command , то путь указывается неправильно и программы cygwin не могут быть найдены.

Если я использую опцию --login , bash правильно устанавливает путь, но также меняет мой домашний каталог.

Какие опции я должен использовать, чтобы запустить bash, чтобы сохранить текущий рабочий каталог, а также найти исполняемые файлы cygwin?

1 ответ1

18

Оказывается, что Cygwin по умолчанию /etc/profile проверяет переменную среды с именем CHERE_INVOKING и запрещает изменение каталога, если установлено.

Так

set CHERE_INVOKING=1
\path\to\bash.exe -l -c command

имеет желаемое поведение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .