Arquivos com a extensão.sh, ou seja, shell scripts, são projetados para serem executados por shells Unix, como Bourne ou GNU Bash. Se você tentar executar scripts de shell no Windows, não funcionará, pois os comandos não serão reconhecidos por padrão.

Em vez disso, você terá que introduzir uma camada de compatibilidade para poder executar tal scripts no Windows. Existem várias maneiras de fazer isso, sendo as mais populares o Windows Subsystem for Linux, Cygwin e Git Bash.

Neste artigo, listamos todas as etapas necessárias para executar Shell Scripts no Windows usando esses métodos.

Subsistema Windows para Linux

O primeiro método é instalar uma distribuição Linux através do recurso Subsistema Windows para Linux. Cygwin e Git são convenientes, mas os usuários geralmente têm dificuldade em executar scripts de shell complexos e aplicativos Linux com eles. Como tal, o WSL é a opção recomendada. Aqui estão as etapas necessárias para isso:

Pressione Win + R, digite optionalfeatures e pressione Enter. Ative os recursos do Windows Subsystem for Linux e Virtual Machine Platform e pressione OK.
Depois que as alterações forem aplicadas, reinicie o computador. Ao inicializar, pressione a tecla BIOS (teclas Fn ou Del). Vá para Configuração avançada de CPU ou seção semelhante e procure a opção de virtualização. Ele será nomeado como AMD-V, SVM, VT-d ou VT-x.Ative a opção de virtualização, se ainda não estiver, e pressione F10 para salvar as alterações e sair.Após a inicialização, baixe e instale o Pacote de atualização do kernel Linux WSL2.Pressione Win + R, digite powershell e pressione Enter.Execute o seguinte comando para definir o WSL 2 como a versão padrão ao instalar novas distribuições Linux:
wsl – set-default-version 2Abra a WSL Store, selecione sua distro preferida e pressione Get para baixá-la. Se você não conseguir instalar o WSL Linux Distros da Microsoft Store, poderá baixá-los e instalá-los diretamente usando esses links fornecidos pela Microsoft.
Após o download, pressione Abrir. Na primeira inicialização, a instalação levará alguns minutos. Após a conclusão da instalação, insira um novo nome de usuário UNIX e senha.
Antes de mais nada, é uma boa prática atualizar e atualizar seus pacotes. Em distribuições baseadas em Debian, você pode fazer isso com o seguinte comando:
sudo apt update && sudo apt upgrade
Navegue até o local do arquivo de script. Segure Shift, clique com o botão direito do mouse e selecione Abrir Linux Shell aqui.Digite sh scriptname.sh para executar o script de shell.
Observação: Para problemas comuns de WSL encontrados durante e após a instalação, recomendamos consultar este guia de solução de problemas da Microsoft.

Usar Cygwin

Cygwin é um ambiente de tempo de execução usado para executar código projetado para ambientes Unix no Windows. Veja como você pode executar scripts de shell no Windows usando o Cygwin:

Baixe e inicie o instalador do Cygwin.Selecione Instalar da Internet como fonte de download. Especifique o diretório raiz para instalar o Cygwin. Além disso, selecione se Cygwin deve estar disponível para todos os usuários ou apenas o atual. Selecione as opções padrão para diretório de pacotes local e conexão com a Internet. Para o site de download, escolha um espelho geograficamente próximo a você, se possível. Caso contrário, qualquer espelho funcionará bem. A diferença na velocidade de download não deve ser grande. Não selecione nenhum pacote por enquanto. Basta pressionar Avançar e seguir as instruções na tela para concluir a instalação.
Abra o Terminal Cygwin64 e navegue até o local onde os scripts de shell estão armazenados.
cd Use o seguinte comando para executar o script de shell:
sh scriptname.sh

Usar Git Bash

Durante sua instalação, o Git adiciona opcionalmente algumas ferramentas UNIX ao PATH no Windows, sendo sh.exe uma delas. Veja como você pode instalar o Git e executar scripts de shell usando o Git bash:

Baixe e instale o Git.Durante a instalação, certifique-se de incluir Git bash e adicionar Git à variável PATH.
Após a instalação, navegue até a pasta com o shell script.Clique com o botão direito do mouse em uma área vazia e selecione Mostrar mais opções> Git bash aqui.Mais uma vez, use o comando sh scriptname.sh para executar o script de shell.

Categories: IT Info