Shell-script uitvoeren in Windows

Pictogram voor leestijd 7 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

Shell-scriptbestanden of SH-bestanden (.sh-extensie) kunnen erg handig zijn voor software-ingenieurs bij het uitvoeren van een breed scala aan bewerkingen, van bestandsverwerking tot uitvoering van programma's en meer. Van dit commandobestand in de scripttaal dat een reeks commando's bevat, is bekend dat het wordt gebruikt voor het Linux-besturingssysteem door het uit te voeren via een computerprogramma met de naam BASH. In verband daarmee zijn Bash-shellscripts geschreven in de BASH-taal (Bourne-Again Shell) die door Linux-programma's wordt herkend. Als u het echter rechtstreeks op Windows gebruikt via de opdrachtprompt of PowerShell terminal is niet mogelijk omdat de commandotaal niet bekend is bij het systeem. Gelukkig zijn er verschillende manieren om .sh- of shell-scriptbestanden uit te voeren in Windows 10 en Windows 11.

Het gebruik van shellscript-bestanden in Linux is eenvoudiger dan ze op Windows uit te voeren. In het laatste systeem heb je het gebruik van andere software nodig om bash-scripts uit te voeren als batchbestanden die werken voor Windows-systemen. U kunt ook proberen om scriptshell-bestanden te converteren naar Windows uitvoerbare BAT-bestanden, maar het vereist enorme kennis van commando's van scripts en batchbestanden, inclusief het vertalen van een scriptbestand naar een batchbestand. Deze optie is ingewikkeld, maar er zijn eenvoudigere manieren om shellscripts uit te voeren in Windows 10/11. Hier zijn er een aantal.

Windows Subsystem voor Linux

De eerste optie is om het Windows-subsysteem voor Linux of WSL te gebruiken, een compatibiliteitslaag voor het native uitvoeren van Linux-binaire uitvoerbare bestanden op Windows-systemen. Het is van toepassing op de meeste scenario's, waardoor u een shellscript kunt uitvoeren in Windows 11/10.

WSL is niet automatisch beschikbaar, dus u moet het inschakelen via de ontwikkelaarsinstellingen van uw Windows-apparaat. U kunt dit doen door naar Instellingen> Update en beveiliging> Voor ontwikkelaars te gaan. Schakel de ontwikkelaarsmodus in en bevestig de prompt door Ja te selecteren. Zoek vervolgens naar de Windows-functies (u kunt de zoekbalk Zoek een instelling gebruiken) en kies de optie "Windows-functies in- of uitschakelen". Dit geeft je een pop-upvenster waarin je de functie "Windows-subsysteem voor Linux" zou moeten zien. Markeer het vakje naast dat item en klik op OK om het te installeren. Het duurt een minuut of twee omdat het proces inhoudt dat u naar relevante bestanden voor de functie moet zoeken en de wijzigingen moet toepassen, maar het zal u spoedig vragen om uw machine opnieuw op te starten zodra het proces is voltooid. Na het opnieuw opstarten zou BASH al beschikbaar moeten zijn in de opdrachtprompt en PowerShell.

Daarna moet u Ubuntu downloaden om toegang te krijgen tot het Linux-bestandssysteem en rechtstreeks Linux-opdrachten en -hulpprogramma's en Bash-scripts of .sh-bestanden in een Linux-omgeving op Windows uit te voeren. Ga hiervoor naar de Microsoft Store en download Ubuntu, waarmee je de Linux-distro krijgt. Open daarna Ubuntu om de installatie op de harde schijf uit te voeren en te integreren met de WSL. U wordt dan gevraagd om een ​​gebruikersnaam en wachtwoord aan te maken om het proces te voltooien. U kunt ook een distro voor Windows installeren met behulp van de Power shell-opdracht "Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing” of het curl-commando “curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604“. Werk vervolgens de Linux-distro bij en upgrade deze door extra pakketten te downloaden met behulp van de opdrachten "sudo apt update && sudo apt upgrade. '

Zodra alles is geregeld, kunt u proberen shellscripts uit te voeren in de Windows-opdrachtprompt. Zoek de scriptbestanden die als tekstbestanden in uw systeem zijn opgeslagen en klik met de rechtermuisknop op een lege ruimte in de map waar de scriptbestanden zich bevinden terwijl u de Shift-toets ingedrukt houdt. Dit geeft je de optie voor "Open opdrachtprompt hier" of "Open PowerShell-venster hier". Selecteer die optie, typ "bash" in het opdrachtpromptvenster of de PowerShell-interface en druk op Enter om de distro-prompt te starten. Dit brengt je naar de bash-shell, wat betekent dat de Windows-omgeving is veranderd in BASH. Bevestigend dat dit de nieuwe regel is die in het terminalvenster zal verschijnen. Ten slotte kunt u beginnen met het typen van het .sh-bestand in het terminalvenster en op Enter drukken.

Cygwin

Cygwin heeft een verzameling GNU- en Open Source-tools die functionaliteit bieden die vergelijkbaar is met een Linux-distributie op Windows. Als je dit gebruikt, kun je Unix- of Linux-applicaties of -programma's compileren en uitvoeren op een Microsoft Windows-besturingssysteem (OS) vanuit een Linux-achtige interface die vergelijkbaar is met Linux BASH.

Cygwin is gratis, dus je kunt het op elk moment downloaden op De officiële website van Cygwin. Download en start de installatie van het bestand setup-x86_64.exe. Er zijn twee versies van Cygwin: de 32-bits en 64-bits versies. Desalniettemin raden we aan om de laatste te gebruiken, aangezien "een volledige 32-bits Cygwin-distro niet meer haalbaar is en naar alle waarschijnlijkheid op willekeurige plaatsen zal mislukken vanwege een probleem met de fork-systeemaanroep", zoals vermeld op de website. De 32-bits Cygwin is alleen voor beperkte scenario's, ook wanneer er geen manier is om een ​​64-bits versie van Cygwin uit te voeren. Zodra het GUI-installatieprogramma (dat kan worden uitgevoerd om een ​​volledige Cygwin-installatie te downloaden) is gedownload, opent u het in de map Downloads en volgt u de instructies op elk scherm om Cygwin te installeren. De site heeft ook een gedetailleerd document voor het opzetten ervan.

Als u klaar bent, opent u de Cygwin64-terminal via de snelkoppeling die het installatieprogramma op het bureaublad zal produceren. Geef het commando "cd C:Gebruikers/Gebruikersnaam/Desktop” om de map te wijzigen waarin het scriptbestand is opgeslagen. Daarna kunt u beginnen met het uitvoeren van shellscripts. Typ gewoon de SH-bestandsnaam samen met de .sh-extensie (bijv. sh test.sh).

Git

Git is een gratis en open-source versiebeheersysteem dat ideaal is voor een groep programmeurs die samenwerken of coördineren aan een broncodeproject. Het kan de wijzigingen die u in de loop van de tijd aanbrengt in bestanden bijhouden, zodat u kunt zien wie op verschillende tijdstippen wijzigingen in een bestand heeft aangebracht en bestanden terugzetten naar een eerdere staat.

Linux- en macOS-pc's hebben de vooraf geïnstalleerde Git als opdrachtregeltool, maar Git heeft ook versies voor alle besturingssystemen die kunnen worden gedownload op zijn officiële website. In dit geval zou je willen hebben Git voor Windows. Ga na het downloaden naar uw map Downloads en open het gedownloade installatiebestand om de Git-installatie te starten. Volg de instructies die op het scherm van het apparaat verschijnen naarmate de installatie vordert, en zorg ervoor dat de optie "Git bash Here" is aangevinkt wanneer een pop-upvenster verschijnt waarin de gewenste installatie voor de componenten wordt bevestigd. Wat betreft de andere opties voor de rest van de componenten, laat ze gewoon standaard aangevinkt. Blijf gewoon Volgende selecteren totdat u de knop Installeren bereikt. Sluit de installatiewizard en open de Git Bash door ernaar te zoeken op uw computer. Je zult andere Git-gerelateerde apps zien, maar klik op degene die "Git Bash" zegt.

Eenmaal gelanceerd, moet u de map wijzigen naar waar uw bestand zich bevindt met behulp van de opdracht "cd desktop". U kunt ook naar de map gaan waar het SH-bestand is opgeslagen en met de rechtermuisknop op de map klikken om de optie "Git Bash Here" te selecteren. Wanneer de Git-opdrachtterminal of Git Bash verschijnt, kun je beginnen met het uitvoeren van de SH-opdrachten. Typ gewoon de SH-bestandsnaam samen met de .sh-extensie (bijv. sh test.sh).

Meer over de onderwerpen: Slaan, Cygwin, Ga bashen, linux, powershell, programmering, SH-bestanden, shellscript-bestanden, shell-scripts, Ubuntu

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *