Você pode chamar um .sh
arquivo no prompt de comando do Windows usando qualquer um desses programas.
Por exemplo:
msys myscript.sh
Ou
c:\temp\msys.exe myscript.sh
É possível? Como eu gostaria de criar um arquivo em lote executando scripts .sh em um dos meus sistemas.
Responder1
msys.exe
é uma das várias portas de ferramentas de linha de comando Unix. Não o usei, mas msys.exe
parece ser o pacote de instalação, então você precisa executá-lo e configurá-lo. Se você deseja ter as ferramentas prontamente disponíveis e o instalador não o faz, você precisará adicionar o diretório instalado à sua PATH
variável.
Para interpretar um script de shell você precisa bash
, então no seu exemplo você digitaria:
bash -c myscript.exe
Se todos os seus scripts terminam em .sh
(no Unix não há necessidade de uma extensão específica, e muitas vezes não há nenhuma), você pode associar a .sh
extensão a bash
, para poder simplesmente digitar ou clicar duas vezes no nome do script.
Alternativamente, você pode executar bash
interativamente em vez de cmd
e então todos os seus comandos serão executados como se estivessem no Unix.
Dois pontos a serem observados: -
- Se os scripts forem importados do Unix, eles serãointerpretadocorretamente, mas não serão executados se chamarem comandos ou recursos que não existem no Windows ou que possuem funções diferentes.
- O Unix usa
/
como separador de diretório e-
para sinalizar opções de comando, enquanto o Windows usa\
e/
. Algumas portas de comando Unix tentam acomodar ambos os estilos, mas como/
têm dois significados diferentes, é necessariamente um compromisso ruim. Não tenho ideia semsys
tenta isso.