O shell do Cygwin está sobrescrevendo meu shell do Windows

0

Não tenho certeza do que fiz, mas, de alguma forma, instalei o Cygwin de tal forma que, mesmo quando tento rodar um shell comum do Windows, o Cygwin está interferindo. Eu tenho scripts em lote que eu quero executar no modo de janelas padrão que o Cygwin reclama. Não posso mudá-los; Eu preciso executá-los no shell felaut. Existe alguma maneira de obter meu shell cmd sem desinstalar completamente o cygwin?

Mais informações:

Estou executando um script em lotes do Windows que inicia um executável do Windows. Não consigo alterar o script OU o executável. Essas são coisas que outras pessoas usam, então elas precisam ficar do jeito que são. Quando executo o script, existem alguns caminhos que ele procura e gera automaticamente para passar para o executável (ou talvez o executável gere-os para si mesmo). Infelizmente, na metade desse processo, o exe reclama que não consegue encontrar D: \ foo \ bar \ baz ... porque o cygwin tentou 'consertar' o caminho.

Se eu excluir o cygwin1.dll enquanto executo o arquivo em lote, recebo um erro informando que o cygwin não foi encontrado. Então, mesmo que eu esteja em um shell Windows CMD (com o prompt do Windows), eu ainda estou claramente recebendo interferência do cygwin.

Eu removi o cygwin do meu caminho e agora o script funciona. Para executar o cygwin, agora preciso navegar para o diretório cygwin explicitamente, executar bash e certificar-se de que o bash modifique o caminho para ter o diretório cygwin / bin nele.

Eu quero principalmente uma maneira de executar scripts em um ambiente padrão do Windows com caminhos padrão do Windows, porque eu não tenho 100% de controle sobre os scripts e executáveis que precisam ser executados como parte do meu trabalho do dia-a-dia. , e é descontroladamente ineficiente para eu ir e reescrever cada script que não seja legal com o cygwin.

(Vale notar que executar o script usando 'cmd / c script.bat' na caixa de execução do Win-R funciona muito bem.)

    
por RealityMonster 18.07.2012 / 22:24

1 resposta

1

Você ainda deve ter acesso ao shell padrão do Windows. Mas se não, tente executar os scripts usando cmd , por exemplo:

cmd /c foo.bat

Isso deve funcionar até mesmo a partir do shell cygwin.

    
por 18.07.2012 / 22:59