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

Hoe kan ik een shell-script uitvoeren in Windows?

Ik ben een Mac-gebruiker en nieuw in Windows. Hoe kan ik een shell script uitvoeren in Windows?

Over het algemeen zou ik het tekstbestand met de extensie .sh opslaan en uitvoeren via Terminal. Maar hoe kan ik dat doen in Windows?

Antwoorden (8)

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

Scripts met een .sh suffix zijn over het algemeen Bourne shell scripts (of bash, of ksh, of zsh – alle shells afgeleid van de Bourne shell). (Merk op dat op Unix-achtige systemen, inclusief MacOS, het .sh achtervoegsel niet nodig is; het OS kijkt naar de #!/bin/sh regel bovenaan het script om te bepalen hoe het moet worden uitgevoerd.)

Windows biedt geen Bourne-achtige shell.

U kunt Cygwin installeren, die een Unix-achtige omgeving onder Windows biedt – maar het heeft geen bijzonder “native” omgeving. (Redactioneel commentaar: Cygwin is geweldig voor mensen zoals ik die Windows moeten gebruiken, maar liever Unix gebruiken.)

Er zijn andere Unix-achtige subsystemen die onder Windows draaien, waaronder MinGW en het Windows Services for UNIX pakket van Microsoft.

Of, in plaats van te proberen Unix-achtige shell-scripts te schrijven en uit te voeren, kun je ook Windows-batch-bestanden schrijven. Deze hebben over het algemeen een .bat of .cmd achtervoegsel. Ze gebruiken dezelfde commando’s en syntaxis als de Windows interactieve commando prompt.

Er is ook de relatief nieuwe Windows PowerShell ; ik ben er zelf niet bekend mee, maar ik heb er goede dingen over gehoord.

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

U kunt Cygwin gebruiken. Het zorgt voor een linuxachtige omgeving in ramen.

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

Er is een andere manier om dit te doen met de Anniversary update voor Windows 10 . Er is nu een Bash (Ubuntu) shell beschikbaar in Windows.

Om deze te kunnen gebruiken moet je de functie installeren aangezien deze niet standaard is ingeschakeld.

  1. Ga naar Control Panel -> Programs -> Turn Windows Features On and Off.

    1. Selecteer het selectievakje voor Windows Subsystem for Linux (Beta). Dit zal de functie installeren en vragen om een herstart.

Dan kun je een commando prompt openen via run -> cmd typ bash of run -> bash.exe.

Dit geeft je een bash shell zonder virtuele machine of Cygwin of virtuele doos.

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

Op Win zijn de gangbare extensies .bat of .cmd. Een goede bron voor de opdrachten die in Windows-shell worden gebruikt is ss64 - voor CMD en PowerShell. Cygwin is geen “must”. Het geeft je gewoon de Linux-stijl - gebruik BASH op Win.

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

UWIN (http://en.wikipedia.org/wiki/UWIN) is een computersoftwarepakket dat is gemaakt door David Korn en waarmee programma’s die zijn geschreven voor het besturingssysteem Unix kunnen worden gebouwd en uitgevoerd op Microsoft Windows, met weinig of geen wijzigingen. Een deel van de softwareontwikkeling werd uitbesteed aan Wipro, India.

Controleer deze UWIN - Unix voor Windows

Salient features van UWIN

  1. Toegang tot bijna alle commandoregelgereedschappen van Unix op Windows. 245 commandoregelgereedschappen om precies te zijn.
  2. 2. Wordt geleverd met de originele Unix compiler ‘cc’ en een veelheid aan tools zoals ‘make’ en de nodige bibliotheken die het mogelijk maken om Unix applicaties te bouwen en te draaien op Windows machines met zeer weinig of geen wijzigingen in de broncode.
  3. 3. Optie om andere compilers zoals Visual C++ of Mingw te gebruiken om programma’s te compileren. 4. Volwaardig Perl-pakket. X windows bibliotheken voor diegenen die X applicaties op Windows willen ontwikkelen. Om deze applicaties in Windows te draaien heb je een X server nodig die niet gebundeld is met UWIN.
  4. UWIN wordt geleverd met een control panel applet (toegankelijk via ‘Start->Settings->Control Panel->UWIN’) die gebruikt kan worden om enkele van de UWIN systeem parameters te configureren.

Gebruiken van UWIN

  • Draai Unix applicaties in eigen beheer in Windows op volle snelheid.
  • Gebruik de volledige kracht van Unix command line tools op Windows.
  • De korn shell gebundeld met UWIN zorgt ervoor dat een Unix gebruiker zich thuis voelt in een Windows omgeving.
  • Ontwikkel en draai UNIX applicaties op Windows.
  • Ontwikkel X applicaties op het Windows platform.

Nadelen van UWIN

  • UWIN komt niet gebundeld met een X server zodat een gebruiker niet in staat is om X applicaties op Windows te draaien. Hoewel er commerciële X servers van derden beschikbaar zijn die dit gat kunnen opvullen.
  • UWIN wordt niet uitgebracht onder de GPL maar is gratis te downloaden en te gebruiken voor educatieve en niet-commerciële doeleinden

*Die software werd gebruikt om ons Linux Command te leren toen ik op de universiteit zat… echt goed… *

  • *

Ref: WikiPedia Cygwin is een Unix-achtige omgeving en command-line interface voor Microsoft Windows.

Het is goed dat Cygwin native integratie van op Windows gebaseerde applicaties, gegevens en andere systeembronnen biedt met applicaties, softwaretools en gegevens van de Unix-achtige omgeving.

  • Interix ** Interix is een onderdeel van de diensten voor Unix (SFU) versie 3.0 en 3.5 (dit laatste is vrij te verspreiden).

De meest recente versies van Interix, 5.2 en 6. 0, zijn componenten van de Windows Server 2003 R2, Windows Vista Enterprise en Ultimate edities en Windows Server 2008 onder de naam SUA (Subsystem for Unix-based Applications). Versie 6.1 is opgenomen in Windows 7 (Enterprise en Ultimate) en Windows Server 2008 R2 (alle edities).

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

Hoewel de bestaande antwoorden hier destijds correct waren, bevat Windows 10 does nu optioneel een aangepaste versie van Ubuntu met een volledige bash-shell .

Eenmaal geïnstalleerd, kun je een bash prompt openen (net als een terminal in OS X/macOS) en het script gewoon uitvoeren, dat wil zeggen:

chmod +x myscript.sh
./myscript.sh

Als je een script direct vanuit Windows wilt uitvoeren, kun je een snelkoppeling maken in dezelfde map en de ‘Target’ op iets dergelijks instellen:

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

Als het pad van je script relatief is ten opzichte van de locatie van de snelkoppeling (zoals in het voorbeeld hierboven) zorg er dan voor dat het veld ‘Start in’ ook leeg is.

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

Je hebt CygWin nodig, en dan geloof ik dat je gewoon kunt rennen:

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

Het juiste antwoord werd gegeven in een commentaar van Kenaniah, je moet batch-bestanden gebruiken. Je moet je shell code bestand een naam geven aan een *.bat, dan kun je het uitvoeren door er op te klikken of gewoon de naam ervan in de terminal te typen. Merk op dat de windows terminal niet precies werkt zoals de unix terminal. Je zult veel hulp en tutorials vinden voor de commando’s en de syntaxis op het hele web. Er is ook een mogelijkheid om de Windows PowerShell te gebruiken, die meer op unix lijkt.