Executando sh.exe no windows cmd.exe: comando não encontrado

0

Por algum motivo, eu preciso executar um arquivo (esperançosamente simples) sh no Windows e fazer isso de outro aplicativo. Eu posso fazer isso usando o cygwin, mas por várias razões eu preciso que esta operação seja fácil de reproduzir em outra máquina (a instalação do cygwin em outra máquina está fora de questão).

A primeira etapa lógica foi copiar sh.exe para outro local e tentar executá-lo no Windows cmd . Eu tenho alguns erros de "falta de biblioteca", mas depois de copiar:

  • cyggcc_s-1.dll
  • cygreadline7.dll
  • cygncursesw-10.dll
  • cygiconv-2.dll
  • cygintl-8.dll
  • cygwin1.dll

Eu posso executar sh.exe em cmd .

Eu tentei executar o arquivo sh com essa cópia de sh.exe , mas agora recebo um erro de que gawk está ausente. Eu tentei copiar gawk.exe (e bibliotecas necessárias) para a mesma pasta, mas sh.exe não pode vê-lo (eu também tentei copiar gawk-4.1.1.exe , mas o resultado foi o mesmo).

Eu suspeito que sh.exe procura por alguma variável de ambiente que apontaria para o local das dependências (como gawk.exe ), mas não tenho certeza de qual variável de ambiente é e se sh.exe respeita o ambiente Windows simples variáveis.

Então, minha pergunta é: posso executar sh.exe no Windows cmd (e, eventualmente, diretamente no Windows) e, se sim, como faço para resolver o problema descrito acima?

    
por jahu 04.10.2014 / 11:06

1 resposta

1
Ao escrever esta pergunta, algumas idéias surgiram na minha cabeça e uma delas foi "Se há uma variável de ambiente que está faltando, certamente o cygwin está configurando quando eu a inicio".

Eu fiz uma pesquisa de texto para cygwin\bin e cygwin/bin na pasta cygwin e a segunda apontou para o arquivo .bashrc . Acontece que o caminho requerido por sh.exe foi armazenado na antiga variável de ambiente PATH .

Em suma, se eu executar:

SET PATH=%PATH%;.

no cmd , posso executar sh.exe com os dependables colocados na mesma pasta (é provável que eu precise substituir . com algum caminho específico posteriormente, mas é bom o suficiente por enquanto). Mais tarde, provavelmente terei que mover isso para um arquivo de lote.

    
por 04.10.2014 / 11:06