Bash Hvordan udfører man en kommando i en variabel?
On november 22, 2021 by adminBash-scripts kan oprettes på mange forskellige måder, og de fleste af os er bekendt med at udføre de enkle kommandoer i et Bash-script. Disse kommandoer kan dog også indkapsles i variabler i Bash. Denne proces er kendt som kommandosubstitution, og den bruges generelt til at gemme output af en kommando i en variabel, så du ikke behøver at køre den pågældende kommando eksplicit igen og igen, men i stedet blot kan få adgang til den pågældende variabel for at få output af den pågældende kommando, når du ønsker det. I denne artikel viser vi dig, hvordan dette kan gøres.
Bemærk: Alle scenarierne demonstreret nedenfor er blevet udført på Ubuntu 20.04. De vil dog også fungere nøjagtigt på samme måde med enhver anden smag af Linux.
Metode til udførelse af en kommando i en variabel i Bash:
For at demonstrere metoden til udførelse af en kommando i en variabel i Bash vil vi præsentere dig for tre forskellige scenarier, som er som følger:
Udførelse af kommandoen “echo” gemt i en variabel:
Dette er det enkleste scenarie, hvor vores mål er at udføre kommandoen echo, som er gemt i en variabel. For at få det til at ske, skal du følge den række trin, der er nævnt nedenfor:
Strin # 1: Oprettelse af et Bash-script:
Du skal oprette et Bash Script i din Home-mappe, hvortil du skal klikke på ikonet File Manager, som du kan se på følgende billede:
Find nu en plads i din Home-mappe, og højreklik på den for at starte en menu. Vælg indstillingen Nyt dokument i denne menu, og vælg derefter indstillingen Tomt dokument i den underordnede menu. Ved at gøre dette oprettes der et nyt dokument i din mappe Hjem. Omdøb nu dette nyoprettede dokument med et navn efter eget valg efterfulgt af .sh-udvidelsen. I vores tilfælde har vi navngivet det som CommandVar.sh.
For at skrive et Bash-script i denne fil skal du dobbeltklikke på den for at åbne den og derefter skrive det script, der er vist på billedet nedenfor, i din Bash-fil. Her viser den første linje i scriptet, dvs. “#!/bin/bash”, at denne fil rent faktisk er en Bash-fil. Derefter har vi oprettet en variabel ved navn “test” og har tildelt den værdien “$(echo “Hi there!”)”. Når du ønsker at gemme kommandoen i en variabel, skal du skrive den pågældende kommando med et “$”-symbol foran. I dette tilfælde ønskede vi at gemme kommandoen “echo” i variablen “test”, så vi har simpelthen indtastet kommandoen “echo” efterfulgt af en tilfældig meddelelse og har omsluttet den i runde parenteser og placeret et “$”-symbol foran den. Så hvis vi nu ønsker at udføre denne “echo”-kommando, skal vi tilgå variablen “test”. For at kontrollere, om den “echo”-kommando, der er gemt i variablen “test”, kan udføres med succes eller ej, har vi derfor udskrevet output fra variablen “test” på terminalen ved hjælp af en anden “echo”-kommando. Når du har skrevet dette script, skal du gemme din fil og lukke den.
Skridt nr. 2: Udførelse af Bash-scriptet via terminalen:
Nu skal du udføre dette script via terminalen. Så åbn terminalen i Ubuntu 20.04 og skriv derefter følgende kommando i den:
Når du vil trykke på Enter-tasten for at udføre denne kommando, vil du kunne se følgende output på din terminal. Her er den fremhævede del af outputtet outputtet af “echo”-kommandoen, der blev gemt i variablen “test”.
Udførelse af kommandoen “seq” gemt i en variabel:
I dette scenario vil vi udskrive en sekvens af tal ved hjælp af kommandoen “seq”, der er gemt i en variabel. For at få det til at ske vil vi ændre det Bash-script, der er oprettet ovenfor, ved at udføre følgende trin:
Strin 1: Ændring af det Bash-script, der er oprettet ovenfor:
Åbn den Bash-fil, du har oprettet i metoden ovenfor, og skriv følgende script i den. Her har vi oprettet en variabel med navnet “sequence”. Vores mål er at udskrive tallene fra 1 til 10, mens vi bruger kommandoen “seq”. For at gøre det har vi tildelt værdien “$(seq 1 10)” til variablen “sequence”. Du kan også angive et hvilket som helst andet talområde efter eget valg, hvis du ønsker det. Det første tal efter “seq”-kommandoen angiver den nedre grænse for sekvensen, mens det andet tal henviser til den øvre grænse. Når du har indtastet dette script, skal du gemme din fil og lukke den.
Skridt nr. 2: Udførelse af det ændrede Bash-script via terminalen:
Udfør nu dit Bash-script på samme måde som forklaret ovenfor, og du vil kunne se den angivne sekvens på din terminal som vist på billedet nedenfor:
Udførelse af kommandoen “pwd” gemt i en variabel:
Du kan også udskrive din arbejdsmappe ved at gøre brug af kommandoen “pwd”, der er gemt i en variabel. For at demonstrere dette vil vi ændre det ovenfor oprettede Bash-script endnu en gang ved at følge nedenstående trin:
Strin 1: Ændring af det ovenfor oprettede Bash-script:
Åbn den Bash-fil, som du lige har ændret, og skriv derefter scriptet vist på følgende billede i den. I dette script har vi oprettet en variabel ved navn “working_directory” og har tildelt den værdien “$(pwd)”. Kommandoen “pwd” vil simpelthen gemme sit output, dvs. den aktuelle arbejdsmappe, i variablen “working_directory”. For at sikre os, om kommandoen “pwd” er blevet udført korrekt eller ej, har vi udskrevet værdien af variablen “working_directory” på terminalen ved hjælp af kommandoen “echo”. Gem nu denne fil, og luk den derefter efter at have indtastet det modificerede Bash-script i den.
Skridt nr. 2: Udførelse af det modificerede Bash-script via terminalen:
Udfør nu dette Bash-script på nøjagtig samme måde som forklaret ovenfor. Output af dette Bash-script vil vise dig den aktuelle arbejdsmappe. Den fremhævede del af outputtet er faktisk outputtet fra kommandoen “pwd”.
Slutning:
Denne artikel giver en meget god idé om, hvordan du kan udføre en kommando, der er gemt i en variabel i Bash, og kan få det samme output, som du ville have fået, hvis du havde kørt kommandoen selvstændigt.
Skriv et svar