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