Inicie o shell bash (cygwin) com o caminho correto sem alterar o diretório

12

Eu preciso executar um script de shell cygwin sem alterar o diretório de trabalho, de fora do ambiente cygwin.

Se eu executar apenas \path\to\bash.exe -c command , o caminho não será configurado corretamente e os programas cygwin não poderão ser encontrados.

Se eu usar a opção --login , bash definirá o caminho corretamente, mas também mudará para meu diretório pessoal.

Quais opções eu devo usar para iniciar o bash para manter o diretório de trabalho atual, e também encontrar executáveis do cygwin?

    
por Ben Voigt 13.10.2011 / 00:02

1 resposta

18

Acontece que o padrão% cy_de% do cygwin verifica uma variável de ambiente chamada /etc/profile e inibe a alteração do diretório, se definido.

Então

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

tem o comportamento desejado.

    
por 13.10.2011 / 00:13