2012-01-02 05:07:33 +0000 2012-01-02 05:07:33 +0000
22
22

Como posso executar um script shell no Windows?

Sou um utilizador Mac e sou novo no Windows. Como posso executar um script de shell no Windows?

Geralmente, eu guardaria o ficheiro de texto com a extensão .sh e corrê-lo-ia via Terminal. Mas como poderia fazer isso no Windows?

Respostas (8)

30
30
30
2012-01-02 05:18:47 +0000

Scripts com um sufixo .sh são geralmente shell scripts Bourne (ou bash, ou ksh, ou zsh – todos shells derivados da shell Bourne). (Note que em sistemas tipo Unix, incluindo MacOS, o sufixo .sh não é necessário; o SO olha para a linha #!/bin/sh no topo do script para determinar como executá-lo.)

Windows não fornece um shell tipo Bourne.

Você pode instalar Cygwin , que fornece um ambiente tipo Unix sob Windows – mas não tem um ambiente particularmente “nativo”. (Comentário editorial: Cygwin é ótimo para pessoas como eu que precisam usar Windows mas preferem usar Unix)

Há outros subsistemas do tipo Unix que rodam sob Windows, incluindo MinGW e o pacote Windows Services for UNIX fornecido pela Microsoft.

Ou, ao invés de tentar escrever e rodar scripts shell do tipo Unix, você pode escrever arquivos batch do Windows. Estes geralmente têm um sufixo .bat ou .cmd. Eles usam os mesmos comandos e sintaxe do prompt de comandos interactivos do Windows.

Há também o relativamente novo Windows PowerShell ; eu próprio não estou familiarizado com ele, mas já ouvi coisas boas sobre ele.

7
7
7
2012-01-02 05:09:41 +0000

Pode utilizar Cygwin . Fornece ambiente tipo linux em janelas.

2
2
2
2016-09-19 19:31:35 +0000

Existe outra forma de o fazer com a actualização do Anniversary update for Windows 10 . Existe agora uma shell Bash (Ubuntu) disponível no Windows.

Para a utilizar necessita de instalar a funcionalidade uma vez que não está activada por defeito.

  1. Vá para Control Panel -> Programs -> Turn Windows Features On and Off.

  2. Seleccione a caixa de verificação para Windows Subsystem for Linux (Beta). Isto irá instalar a funcionalidade e pedir para reiniciar.

Depois pode abrir um comando via run -> cmd e depois digitar bash ou run -> bash.exe.

Isto irá dar-lhe uma shell bash sem máquina virtual ou Cygwin ou virtualbox.

2
2
2
2012-01-02 05:16:17 +0000

Em Win as extensões comuns são .bat ou .cmd. Uma boa fonte para os comandos utilizados na shell do Windows é ss64 - para CMD e PowerShell. Cygwin não é um “must”. Está apenas a dar-lhe o estilo Linux - use BASH on Win.

2
2
2
2012-01-02 12:14:01 +0000

** E o UWIN??** UWIN é um pacote de software de computador criado por David Korn que permite que programas escritos para o sistema operativo Unix sejam construídos e executados no Microsoft Windows com poucas, ou nenhumas, alterações. Parte do desenvolvimento do software foi subcontratado à Wipro, Índia.

Veja este UWIN - Unix for Windows

Características salientes do UWIN

  1. Acesso a quase todas as ferramentas de linha de comando do Unix no Windows. 245 ferramentas de linha de comando para ser exacto.
  2. Vem em conjunto com o compilador original Unix ‘cc’, bem como uma infinidade de ferramentas como ‘make’ e as bibliotecas necessárias que permitem que aplicações Unix sejam construídas e executadas em máquinas Windows com muito poucas ou nenhumas alterações no código fonte.
  3. Opção de usar outros compiladores como Visual C++ ou Mingw para compilar programas. Pacote completo em Perl.
  4. Bibliotecas X windows para quem aspira a desenvolver aplicações X no windows. Embora para executar essas aplicações no Windows, é necessário um servidor X que não esteja empacotado com UWIN.
  5. UWIN vem com um applet de painel de controlo (acedido através de ‘Start->Settings->Control Panel->UWIN’) que pode ser usado para configurar alguns dos parâmetros do sistema UWIN.

Usos do UWIN

  • Executar aplicações Unix nativamente no Windows em velocidade máxima.
  • Usar todo o poder das ferramentas de linha de comando Unix no Windows.
  • A shell korn empacotada com UWIN faz um utilizador Unix sentir-se em casa num ambiente Windows.
  • Desenvolver e executar aplicações UNIX no Windows.
  • Desenvolver aplicações X na plataforma Windows.

  • As desvantagens do UWIN

  • O UWIN não vem empacotado com um servidor X pelo que um utilizador não será capaz de executar aplicações X no Windows. Embora haja servidores X comerciais de terceiros disponíveis que podem preencher esta lacuna.

  • O UWIN não é lançado sob a GPL mas é gratuito para download e utilização para fins educativos e não comerciais

*Esse software foi utilizado para nos ensinar o Comando Linux quando eu estava na faculdade… realmente bom… *


Ref: WikiPedia Cygwin é um ambiente tipo Unix e interface de linha de comando para Microsoft Windows.

Bom é que o Cygwin fornece integração nativa de aplicações baseadas em Windows, dados e outros recursos do sistema com aplicações, ferramentas de software e dados do ambiente tipo Unix.

  • Interix ** O Interix é um componente dos serviços para as versões 3.0 e 3.5 do Unix (SFU) (esta última é distribuída livremente).

As versões mais recentes do Interix, 5.2 e 6. 0, são componentes das edições Windows Server 2003 R2, Windows Vista Enterprise e Ultimate e Windows Server 2008 sob o nome de SUA (Subsystem for Unix-based Applications) Versão 6.1 está incluída no Windows 7 (Enterprise e Ultimate) e Windows Server 2008 R2 (todas as edições)

1
1
1
2016-08-25 07:59:50 +0000

Embora as respostas existentes aqui fossem correctas na altura, o Windows 10 does inclui agora opcionalmente uma versão modificada do Ubuntu a correr uma shell bash completa .

Uma vez instalado, você pode abrir um prompt bash (muito parecido com um terminal no OS X/macOS) e executar o script como de costume, ou seja:

chmod +x myscript.sh
./myscript.sh

Se você quiser executar um script diretamente do Windows você pode criar um atalho no mesmo diretório e definir o ‘Target’ para algo parecido:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Se o caminho do seu script for relativo à localização do atalho (como o exemplo acima) assegure-se de que o campo ‘Start in’ também está em branco.

0
0
0
2012-01-02 05:09:52 +0000

Vai precisar do CygWin, e então acredito que vai poder correr:

sh yourscript.sh
0
0
0
2012-01-02 11:20:04 +0000

A resposta correcta foi dada num comentário de Kenaniah, tem de utilizar lotes de ficheiros . Você precisa nomear seu arquivo de código de shell para *.bat, então você pode executá-lo clicando nele ou simplesmente digitando seu nome no terminal. Note que o terminal windows não funciona exactamente como o terminal unix. Você vai encontrar muita ajuda e tutoriais para os comandos e sintaxe em toda a web. Há também a possibilidade de usar o Windows PowerShell , que parece ser mais parecido com o unix.