Bash Hoe voer je een commando uit in een variabele?
On november 22, 2021 by adminBash scripts kunnen op verschillende manieren worden gemaakt en de meesten van ons zijn bekend met het uitvoeren van de eenvoudige commando’s binnen een Bash script. Deze commando’s kunnen echter ook worden ingekapseld in de variabelen in Bash. Dit proces staat bekend als opdrachtsubstitutie en wordt meestal gebruikt om de uitvoer van een opdracht in een variabele op te slaan, zodat je die opdracht niet steeds opnieuw expliciet hoeft uit te voeren, maar gewoon die variabele kunt openen om de uitvoer van die opdracht te krijgen wanneer je maar wilt. In dit artikel laten we zien hoe dat kan.
Note: Alle scenario’s die hieronder worden gedemonstreerd, zijn uitgevoerd op Ubuntu 20.04. Echter, ze zullen werken op precies dezelfde manier met elke andere smaak van Linux ook.
Het uitvoeren van een commando in een variabele in Bash:
Om de methode van het uitvoeren van een commando in een variabele in Bash te demonstreren, presenteren we u drie verschillende scenario’s die als volgt zijn:
Het uitvoeren van de opdracht “echo” die in een variabele is opgeslagen:
Dit is het eenvoudigste scenario waarin ons doel is om de opdracht echo uit te voeren die in een variabele is opgeslagen. Om dit te laten gebeuren, moet je de onderstaande stappen volgen:
Stap # 1: Een Bash Script maken:
U moet een Bash Script maken in uw Home-map waarvoor u op het pictogram Bestandsbeheer moet klikken, zoals u kunt zien in de volgende afbeelding:
Nu zoekt u een willekeurige ruimte in uw Home-map en klikt u er met de rechtermuisknop op om een menu te openen. Selecteer in dit menu de optie Nieuw document en kies vervolgens in het submenu de optie Leeg document. Hiermee maakt u een nieuw document aan in uw Home-map. Hernoem nu dit nieuw aangemaakte document met een naam naar keuze gevolgd door de extensie .sh. In ons geval hebben we het de naam CommandVar.sh.
Om een Bash-script in dit bestand te schrijven, dubbelklikt u erop om het te openen en typt u vervolgens het script dat in de onderstaande afbeelding wordt weergegeven in uw Bash-bestand. Hier laat de eerste regel van het script, namelijk “#!/bin/bash” zien dat dit bestand in feite een Bash-bestand is. Vervolgens hebben we een variabele gemaakt met de naam “test” en hebben we deze de waarde “$(echo “Hi there!”)” gegeven. Wanneer je een commando in een variabele wilt opslaan, moet je dat commando typen, voorafgegaan door een “$”-symbool. In dit geval wilden we het commando “echo” opslaan in de variabele “test”, dus we hebben gewoon het commando “echo” getypt, gevolgd door een willekeurig bericht en hebben het ingesloten tussen ronde haakjes, en er een “$”-symbool voor geplaatst. Dus, als we nu deze “echo” opdracht willen uitvoeren, zullen we de “test” variabele moeten benaderen. Om te controleren of de “echo” opdracht die is opgeslagen in de “test” variabele met succes kan worden uitgevoerd of niet, hebben we de uitvoer van de “test” variabele afgedrukt op de terminal door gebruik te maken van een andere “echo” opdracht. Na het typen van dit script, moet u het bestand opslaan en sluiten.
Stap # 2: Het uitvoeren van het Bash Script via de Terminal:
Nu moet u dit script via de terminal uitvoeren. Dus, open de terminal in Ubuntu 20.04 en typ de volgende opdracht in:
Wanneer u op de Enter-toets drukt om deze opdracht uit te voeren, zult u de volgende uitvoer op uw terminal te zien krijgen. Het gemarkeerde gedeelte van de uitvoer is de uitvoer van de opdracht “echo” die in de variabele “test” was opgeslagen.
Uitvoeren van de opdracht “seq” die in een variabele is opgeslagen:
In dit scenario drukken we een reeks getallen af met behulp van de opdracht “seq” die in een variabele is opgeslagen. Om dit te laten gebeuren, zullen we het hierboven gemaakte Bash-script wijzigen door de volgende stappen uit te voeren:
Stap # 1: Het wijzigen van het hierboven gemaakte Bash-script:
Open het Bash-bestand dat u in de bovenstaande methode hebt gemaakt en typ er het volgende script in. Hier hebben we een variabele aangemaakt met de naam “sequence”. Ons doel is om de getallen van 1 tot 10 af te drukken bij gebruik van de “seq” opdracht. Om dat te doen, hebben we de waarde “$(seq 1 10)” toegewezen aan de “sequence” variabele. Je kan ook een ander bereik van getallen naar keuze specificeren als je dat wil. Het eerste getal na het “seq” commando geeft de ondergrens van de reeks aan, terwijl het tweede getal verwijst naar de bovengrens. Nadat u dit script hebt ingetypt, slaat u het bestand op en sluit u het.
Stap # 2: het gewijzigde Bash-script uitvoeren via de terminal:
U voert nu uw Bash-script uit op dezelfde manier als hierboven is uitgelegd en u zult de opgegeven reeks op uw terminal kunnen zien, zoals in de onderstaande afbeelding wordt weergegeven:
Uitvoeren van ‘pwd’-commando opgeslagen in een variabele:
U kunt uw werkdirectory ook afdrukken door gebruik te maken van het ‘pwd’-commando dat is opgeslagen in een variabele. Om dit te demonstreren, zullen we het hierboven gemaakte Bash-script nogmaals wijzigen door de onderstaande stappen te volgen:
Stap # 1: Het wijzigen van het hierboven gemaakte Bash-script:
Open het Bash-bestand dat u zojuist hebt gewijzigd en typ vervolgens het script dat in de volgende afbeelding wordt getoond. In dit script hebben we een variabele gemaakt met de naam “working_directory” en hebben we er de waarde “$(pwd)” aan toegekend. Het “pwd” commando zal simpelweg zijn uitvoer, d.w.z. de huidige werkdirectory, opslaan in de “working_directory” variabele. Om te controleren of de “pwd” opdracht correct is uitgevoerd of niet, hebben we de waarde van de “working_directory” variabele afgedrukt op de terminal door gebruik te maken van het “echo” commando. Sla dit bestand nu op en sluit het nadat u het gewijzigde Bash-script erin hebt getypt.
Stap # 2: Het gewijzigde Bash-script uitvoeren via de Terminal:
Uitvoeren nu dit Bash-script uit op precies dezelfde manier als hierboven is uitgelegd. De uitvoer van dit Bash script zal u de huidige werkdirectory tonen. Het gemarkeerde deel van de uitvoer is in feite de uitvoer van de opdracht “pwd”.
Conclusie:
Dit artikel geeft een heel goed idee van hoe u een opdracht kunt uitvoeren die is opgeslagen in een variabele in Bash en dezelfde uitvoer kunt krijgen als wanneer u de opdracht onafhankelijk zou uitvoeren.
Geef een antwoord