Como posso executar um script de shell no Windows? [duplicado]

23

Sou usuário de Mac e novo no Windows. Como posso executar um script de shell no Windows?

Geralmente, eu salvaria o arquivo de texto com a extensão .sh e o executaria via Terminal. Mas como eu poderia fazer isso no Windows?

    
por Terminator 02.01.2012 / 06:07

8 respostas

29

Os scripts com um sufixo .sh são geralmente scripts de shell Bourne (ou bash ou ksh ou zsh - todos os shells derivados do shell Bourne). (Observe que em sistemas semelhantes ao Unix, incluindo o MacOS, o sufixo .sh não é necessário; o SO examina a linha #!/bin/sh na parte superior do script para determinar como executá-lo.)

O Windows não oferece um shell semelhante ao Bourne.

Você pode instalar o Cygwin , que fornece um ambiente semelhante ao Unix no Windows - mas ele não possui um ambiente "nativo" em particular. (Comentário editorial: Cygwin é ótimo para pessoas como eu que precisam usar o Windows, mas preferem usar o Unix.)

Existem outros subsistemas semelhantes ao Unix que são executados no Windows, incluindo o MinGW e o Pacote Windows Services for UNIX fornecido pela Microsoft.

Ou, em vez de tentar escrever e executar scripts shell do tipo Unix, você pode gravar arquivos em lote do Windows. Geralmente, eles têm um sufixo .bat ou .cmd . Eles usam os mesmos comandos e sintaxe que o prompt de comando interativo do Windows.

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

    
por 02.01.2012 / 06:18
6

Você pode usar Cygwin . Ele fornece linux como ambiente no windows.

    
por 02.01.2012 / 06:09
2

Em Win, as extensões comuns são .bat ou .cmd . Uma boa fonte para os comandos usados no shell do Windows é ss64 - para CMD e PowerShell.

O

Cygwin não é um "must". Está apenas dando a você o estilo Linux - use BASH on Win.

    
por 02.01.2012 / 06:16
2

E sobre a UWIN ??

UWIN é um pacote de software de computador criado por David Korn, que permite que programas escritos para o sistema operacional Unix seja construído e executado no Microsoft Windows com poucas alterações, se houver alguma. Parte do desenvolvimento de software foi terceirizado para a Wipro, na Índia.

Verifique este UWIN - Unix para Windows

Recursos importantes 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 exato.
  2. vem junto com o compilador Unix original 'cc', bem como uma infinidade de ferramentas como 'make' e as bibliotecas necessárias que permitem que os aplicativos Unix sejam criados e executados em máquinas Windows com muito pouca ou nenhuma alteração no código-fonte .
  3. Opção para usar outros compiladores como Visual C ++ ou Mingw para compilar programas.     Pacote Perl completo.
  4. Bibliotecas do X Window para aqueles que desejam desenvolver aplicativos X no Windows. Embora para executar esses aplicativos no Windows, você precisa de um servidor X que não esteja incluído no UWIN.
  5. O UWIN vem com um miniaplicativo do painel de controle (acessado através de 'Iniciar-> Configurações- > Painel de controle- > UWIN') que pode ser usado para configurar alguns dos parâmetros do sistema UWIN.

Usos do UWIN

  • Execute aplicativos Unix nativamente no Windows a toda velocidade.
  • Use todo o poder das ferramentas de linha de comando do Unix no Windows.
  • O shell korn empacotado com o UWIN faz com que um usuário Unix se sinta em casa em um ambiente Windows.
  • Desenvolva e execute aplicativos UNIX no Windows.
  • Desenvolva aplicativos X na plataforma Windows.

Desvantagens do UWIN

  • O UWIN não vem incluído em um servidor X, portanto, um usuário não poderá executar aplicativos X no Windows. Embora existam servidores X comerciais de terceiros disponíveis que podem preencher esta lacuna.
  • O UWIN não é liberado sob a GPL, mas é gratuito para download e uso para fins educacionais e não comerciais

Esse software foi usado para nos ensinar o Linux Command quando eu estava na faculdade .. realmente bom ..

Ref: WikiPedia

O

Cygwin é um ambiente semelhante ao Unix e uma interface de linha de comando para o Microsoft Windows.

Good about is that Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment.

Interix
O Interix é um componente do Service for Unix (SFU) versão 3.0 e 3.5 ( este último é distribuído gratuitamente ).

The most recent releases of Interix, 5.2 and 6.0, are components of the Windows Server 2003 R2, Windows Vista Enterprise and Ultimate editions and Windows Server 2008 under the name SUA (Subsystem for Unix-based Applications) Version 6.1 is included in Windows 7 (Enterprise and Ultimate) and Windows Server 2008 R2 (all editions)

    
por 02.01.2012 / 13:14
1

Embora as respostas existentes estivessem corretas no momento, o Windows 10 agora inclui, opcionalmente, uma versão modificada do Ubuntu executando um shell bash completo .

Uma vez instalado, você pode abrir um prompt do bash (como se fosse 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, poderá criar um atalho no mesmo diretório e definir o "Destino" como:

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

Se o caminho do seu script for relativo à localização do atalho (como no exemplo acima), certifique-se de que o campo "Iniciar em" também esteja em branco.

    
por 25.08.2016 / 09:59
1

Há outra maneira de fazer isso com a atualização de aniversário para o Windows 10 . Existe agora um shell Bash (Ubuntu) disponível no Windows.

Para usá-lo, você precisa instalar o recurso, já que ele não está habilitado por padrão.

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

  2. Selecione a caixa de seleção para Windows Subsystem for Linux (Beta) . Isso instalará o recurso e solicitará uma reinicialização.

Então você pode abrir um prompt de comando via run - > cmd , em seguida, digite bash ou execute - > %código%.

Isso lhe dará um bash shell sem máquina virtual ou Cygwin ou virtualbox.

    
por 19.09.2016 / 21:31
0

Você precisará do CygWin e, em seguida, acredito que poderá executar:

sh yourscript.sh
    
por 02.01.2012 / 06:09
0

A resposta correta foi dada em um comentário por Kenaniah, você tem que usar arquivos em lote . Você precisa nomear seu arquivo de código shell para * .bat, então você pode executá-lo clicando nele ou simplesmente digitar seu nome no terminal. Observe que o terminal do Windows não funciona exatamente como o terminal do Unix. Você encontrará muita ajuda e tutoriais para os comandos e a sintaxe em toda a web. Há também a possibilidade de usar o Windows PowerShell , que parece ser mais parecido com um unix.

    
por 02.01.2012 / 12:20