30Jun
Com a chegada do shell Bash do Windows 10, agora você pode criar e executar scripts de shell do Bash no Windows 10. Você também pode incorporar comandos Bash em um arquivo de lote do Windows ou no script do PowerShell.
Mesmo que você saiba o que está fazendo, isso não é tão simples quanto parece. Windows e UNIX usam diferentes caracteres de fim de linha, e o sistema de arquivos do Windows está acessível em um local diferente no ambiente Bash.
Como escrever um script Bash no Windows 10
Ao escrever scripts de shell no Windows, tenha em mente que sistemas Windows e UNIX como o Linux usam caracteres diferentes "de fim de linha" em arquivos de texto em scripts de shell.
Em outras palavras, isso significa que você não pode simplesmente escrever um script de shell no Bloco de Notas. Salve o arquivo no Bloco de notas e não será interpretado corretamente pela Bash. No entanto, você pode usar editores de texto mais avançados - por exemplo, o Notepad ++ permite que você dê um arquivo de caracteres UNIX de fim de linha clicando em Editar & gt;EOL Conversion & gt;Formato UNIX / OSX.
No entanto, você está melhor apenas escrevendo o script do 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 você é novo.
Por exemplo, para criar um script bash em nano, você executaria o seguinte comando em bash:
nano ~ / myscript.shIsso abriria o editor de texto Nano apontado para um arquivo chamado "myscript.sh" em seu usuáriodiretório inicial da conta.(O caractere "~" representa seu diretório inicial, então o caminho completo é /home/username/ myscript.sh.)
Comece seu script de shell com a linha:
#!/bin/ bashDigite os comandos que deseja executar, cada um na sua própria linha. O script executará cada comando por sua vez. Adicione um caractere "#" antes de uma linha para tratá-lo como um "comentário", algo que ajuda você e outras pessoas a entender o script, mas que não são executados como um comando. Para truques mais avançados, consulte um guia mais detalhado sobre scripts Bash no Linux. As mesmas técnicas funcionarão no Bash no Ubuntu no Windows.
Observe que não existe nenhuma maneira de executar programas do Windows dentro do ambiente Bash. Você está restrito aos comandos e utilitários do terminal Linux, assim como você seria em um sistema Linux típico.
Por exemplo, vamos usar um script básico do "mundo olá" como um exemplo aqui:
#!/bin/ bash # configure a variável STRING STRING = "Olá Mundo!"# imprima o conteúdo da variável na tela echo $ STRINGSe você estiver usando o editor de texto Nano, você pode salvar o arquivo pressionando Ctrl + O e depois Enter. Feche o editor pressionando Ctrl + X.
Faça o script executável e, em seguida, execute-o
Você provavelmente quer que faça o script executável para que você possa executá-lo com mais facilidade. No Linux, isso significa que você precisa dar ao arquivo de script a permissão executável. Para fazer isso, execute o seguinte comando no terminal, apontando para o seu script:
chmod + x ~ / myscript.shPara executar o script, agora você pode executá-lo no terminal digitando seu caminho. Sempre que quiser iniciar o script no futuro, basta abrir o shell do 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
Para acessar arquivos do Windows no script, Você precisará especificar seu caminho sob /mnt/ c, e não o caminho do Windows. Por exemplo, se você quisesse especificar o arquivo C: \ Users \ Bob \ Downloads \ test.txt, você precisaria especificar o caminho /mnt/c/Users/Bob/Downloads/ test.txt. Consulte nosso guia para localizações de arquivos no shell do Bash do Windows 10 para obter mais detalhes.
Como incorporar comandos Bash em um Batch ou PowerShell Script
Finalmente, se você tiver um arquivo em lote existente ou um script do PowerShell no qual você deseja incorporar comandos, você pode executar os comandos do Bash diretamente usando o comando bash-c.
Por exemplo, para executar um comando Linux em uma janela de comando ou PowerShell, você pode executar o seguinte comando:
bash -c "comando"Este truque permite que você adicione comandos Bash em arquivos em lote ou scripts do PowerShell. A janela do shell Bash aparecerá quando um comando Bash estiver sendo executado.
Para criar um atalho para um script Bash no Windows, basta criar um atalho como o normal. Para o destino do atalho, use o comando bash -c que delineamos acima e apontei para o script Bash que você criou.
Por exemplo, você aponta um atalho em "bash -c" ~ / myscript.sh "" para executar o script de exemplo acima. Você também pode simplesmente executar esse comando a partir de uma janela do comando ou do PowerShell também.