Como Criar e Executar Scripts de Shell no Windows 10

  • Chris Hoffman

    @chrisbhoffman

  • Atualizado em 7 de Março de 2018, 2:31pm EDT

Com a chegada do Windows 10 do shell Bash, você pode agora criar e executar scripts de shell no Windows 10. Você também pode incorporar comandos Bash em um arquivo em lote do Windows ou script PowerShell.mesmo que saiba o que está a fazer, isto não é necessariamente tão simples como parece. Windows e UNIX usam diferentes caracteres de fim de linha, e o sistema de arquivos Windows é acessível em um local diferente no ambiente Bash.

Como Escrever um Script Bash no Windows 10

RELACIONADOS: Como Instalar e Usar o Linux Shell Bash no Windows 10

Ao escrever shell scripts no Windows, tenha em mente que o Windows e sistemas UNIX-like, como o Linux, o uso de diferentes “fim de linha” caracteres em arquivos texto em shell scripts.

anúncio

em outras palavras, Isto significa que você não pode simplesmente escrever um script shell no bloco de notas. Salve o arquivo no bloco de notas e ele não será interpretado corretamente por Bash. No entanto, você pode usar Editores de texto mais avançados–por exemplo, o Notepad++ permite-lhe dar um ficheiro UNIX caracteres de fim de linha clicando em Editar > conversão de EOL > formato UNIX/OSX.

No entanto, é melhor escrever o script shell no próprio ambiente Bash. O ambiente Bash baseado em Ubuntu vem com os editores de texto vi e nano. O editor vi é mais poderoso, mas se você nunca o usou antes, você pode querer começar com nano. É mais fácil de usar se for novo.

Por exemplo, para criar um programa bash em nano, você executaria o seguinte comando na bash:

nano ~/myscript.sh

isto iria abrir o editor de texto Nano apontado para um ficheiro chamado “myscript.sh” no directório da sua conta de utilizador. (O carácter ” ~ ” representa a sua pasta pessoal, por isso a localização completa é /home/username/myscript.sh.)

iniciar o seu programa shell com a linha de comandos:

#!/bin/bash

relacionado: O Guia do iniciante para Scripting da linha de comandos: o básico

anúncio

indique os comandos que deseja executar, cada um na sua própria linha. O script irá executar cada comando por sua vez. Adicione um personagem ” # ” antes de uma linha para tratá-lo como um “comentário”, algo que ajuda você e outras pessoas a entender o roteiro, mas que não é executado como um comando. Para truques mais avançados, consulte um guia mais detalhado para scripts Bash em Linux. As mesmas técnicas trabalharão em Bash no Ubuntu no Windows.

Note que não há nenhuma maneira de executar programas do Windows dentro do ambiente Bash. Você está restrito a comandos de terminal Linux e utilitários, assim como você estaria em um sistema Linux típico.

Por exemplo, vamos apenas usar um programa básico de “hello world” como um exemplo aqui:

#!/bin/bash # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING

Se estiver a usar o editor de texto Nano, poderá gravar o ficheiro se carregar em Ctrl+O e depois introduzir. Fecha o editor carregando em Ctrl+X.

Make the Script Executable and then Run It

provavelmente irá querer o make the script executable para que o possa executar mais facilmente. No Linux, isso significa que você precisa dar ao arquivo de script a permissão do executável. Para fazer isso, execute o seguinte comando no terminal, apontando-o no seu script:

chmod +x ~/myscript.sh

Propaganda

Para executar o script, você pode agora basta executar no terminal digitando seu caminho. Sempre que você quiser lançar o script no futuro, basta abrir a shell Bash e digitar o caminho para o script.

~/myscript.sh

(Se o script estiver no diretório atual, você pode executá-lo com ./myscript.sh)

Como Trabalhar Com Arquivos do Windows em um Script Bash

RELACIONADOS: Como Acessar o Seu Ubuntu Bash Arquivos no Windows (e a Sua Unidade de Sistema do Windows no Bash)

Para acessar os arquivos do Windows no script, você precisará especificar o seu caminho em /mnt/c, e não a sua de caminho do Windows. Por exemplo, se você quiser especificar o C:\Utilizadores\Bob\transfers\test.ficheiro txt, terá de indicar o /mnt/C/Users/Bob/Downloads/test.caminho txt. Consulte o nosso guia para localizações de arquivos na shell Bash do Windows 10 para mais detalhes.

Como Incorporar Comandos Bash em um Lote ou Script do PowerShell

RELACIONADOS: Como Definir o Seu Padrão de Distribuição do Linux no Windows 10

Finalmente, se você já tem um arquivo em lotes ou script PowerShell que você deseja incorporar comandos, você pode executar comandos Bash diretamente usando o bash -c comando.

anúncio

por exemplo, para executar um comando Linux numa linha de comandos ou janela PowerShell, você pode executar o seguinte comando:

bash -c "command"

Este truque permite-lhe adicionar comandos Bash em ficheiros em lote ou scripts PowerShell. A janela da linha de comandos da Bash irá aparecer quando estiver a correr um comando da Bash.

Update: se tiver vários ambientes Linux instalados, poderá usar o comando wslconfig para escolher o ambiente Linux predefinido usado quando executar o comando bash -c.

para criar um atalho para um programa Bash a partir das janelas, basta criar um atalho como o normal. Para o alvo do atalho, use o comando bash -c que delineámos acima e aponte-o para o programa Bash que criou.

anúncio

por exemplo, você apontaria um atalho para ” bash -c "~/myscript.sh" ” para executar o programa de exemplo acima. Também pode executar este comando a partir de uma linha de comandos ou de uma janela PowerShell.Chris Hoffman é Editor-chefe do How To Geek. Ele escreveu sobre tecnologia por mais de uma década e foi colunista da PCWorld por dois anos. Chris escreveu para o New York Times, foi entrevistado como um especialista em tecnologia em estações de TV como a NBC 6 de Miami, e teve seu trabalho coberto por canais de notícias como a BBC. Desde 2011, Chris escreveu mais de 2.000 artigos que foram lidos quase um bilhão de vezes, e isso é apenas aqui no How To Geek.Read Full Bio ”

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *