Bash hvordan du utfører en kommando i en variabel?

Bash hvordan du utfører en kommando i en variabel?
Bash -skript kan opprettes på en rekke forskjellige måter, og de fleste av oss er kjent med å utføre de enkle kommandoene i et bash -skript. Imidlertid kan disse kommandoene også innkapsles i variablene i bash. Denne prosessen er kjent som kommandosubstitusjon, og den brukes vanligvis til å lagre utgangen fra en kommando i en variabel, slik at du ikke trenger å kjøre den kommandoen eksplisitt igjen og igjen, snarere kan du ganske enkelt få tilgang til den variabelen for å få utgangen fra den kommandoen når som helst. I denne artikkelen vil vi vise deg hvordan dette kan gjøres.

Merk: Alle scenariene demonstrert nedenfor er utført på Ubuntu 20.04. Imidlertid vil de fungere nøyaktig på samme måte med noen annen smak av Linux også.

Metode for å utføre en kommando i en variabel i bash:

For å demonstrere metoden for å utføre en kommando i en variabel i bash, vil vi presentere tre forskjellige scenarier som er som følger:

Utførelse av “Echo” -kommandoen lagret i en variabel:

Dette er det enkleste scenariet der målet vårt er å utføre Echo -kommandoen som er lagret i en variabel. For å få det til å skje, må du følge serien med trinn som er nevnt nedenfor:

Trinn 1: Opprette et bashskript:

Du må lage et bash -skript i hjemmemappen din som du må klikke på filbehandlerikonet som du kan se fra følgende bilde:

Finn nå noen plass i hjemmemappen din og høyreklikk på den for å starte en meny. Velg det nye dokumentalternativet fra denne menyen, og velg deretter det tomme dokumentalternativet fra underkascading-menyen. Å gjøre dette vil opprette et nytt dokument i hjemmemappen din. Regner nå dette nyopprettede dokumentet med ethvert navn du velger etterfulgt av .SH -forlengelse. I vårt tilfelle har vi navngitt det som kommando.sh.

For å skrive et bash -skript i denne filen, dobbeltklikk på det for å åpne det og skriv deretter skriptet som vises på bildet nedenfor i bash -filen. Her, den første linjen i skriptet i.e. “#!/bin/bash ”viser at denne filen faktisk er en bash -fil. Da har vi laget en variabel med navnet “Test” og har tildelt den verdien “$ (Echo“ Hei der!”)”. Hver gang du vil lagre kommandoen i en variabel, må du skrive den kommandoen foran med et "$" -symbol. I dette tilfellet ønsket vi å lagre “Echo” -kommandoen i “Test” -variabelen, slik at vi ganske enkelt har skrevet “Echo” -kommandoen etterfulgt av en tilfeldig melding og har vedlagt den i runde parentes, og plassert et "$" -symbol før den. Så nå, hvis vi ønsker å utføre denne “Echo” -kommandoen, må vi få tilgang til "Test" -variabelen. For å bekrefte om “Echo” -kommandoen som er lagret i “Test” -variabelen, kan derfor utføres eller ikke, har vi skrevet ut utgangen fra "Test" -variabelen på terminalen ved å bruke en annen "Echo" -kommando. Etter å ha skrevet dette skriptet, må du lagre filen og lukke den.

Trinn 2: Utførelse av bashskriptet via terminalen:

Nå må du utføre dette skriptet via terminalen. Så åpne terminalen i Ubuntu 20.04 og skriv deretter inn følgende kommando i den:

Bash CommandVar.sh

Når du trykker på Enter -tasten for å utføre denne kommandoen, vil du kunne se følgende utdata på terminalen. Her er den uthevede delen av utgangen utgangen fra “Echo” -kommandoen som ble lagret i "Test" -variabelen.

Utførelse av “SEQ” -kommandoen lagret i en variabel:

I dette scenariet vil vi skrive ut en sekvens med tall ved å bruke “SEQ” -kommandoen lagret i en variabel. For å få det til å skje, vil vi endre Bash -skriptet som er opprettet ovenfor ved å utføre følgende trinn:

Trinn 1: Endre bashptet som er opprettet ovenfor:

Åpne bash -filen du har laget i metoden over og skriv inn følgende skript i den. Her har vi laget en variabel med navnet “Sequence”. Målet vårt er å skrive ut tallene fra 1 til 10 mens du bruker “SEQ” -kommandoen. For å gjøre det har vi tildelt verdien “$ (SEQ 1 10)” til “sekvens” -variabelen. Du kan også spesifisere et hvilket som helst annet utvalg av antall valg hvis du vil. Det første nummeret etter “SEQ” -kommandoen indikerer den nedre grensen av sekvensen, mens det andre tallet refererer til øvre grense. Etter å ha skrevet dette skriptet, lagre filen din og lukk den.

Trinn 2: Utfør det modifiserte bashskriptet via terminalen:

Utfør nå Bash -skriptet på samme måte som forklart ovenfor, og du vil kunne se den spesifiserte sekvensen på terminalen din som vist på bildet nedenfor:

Utføre 'PWD' -kommando lagret i en variabel:

Du kan også skrive ut arbeidskatalogen din ved å bruke “PWD” -kommandoen lagret i en variabel. For å demonstrere dette, vil vi endre bashskriptet som er opprettet ovenfor igjen ved å følge trinnene som er nevnt nedenfor:

Trinn 1: Endre bashptet som er opprettet ovenfor:

Åpne bash -filen som du nettopp har endret, og skriv deretter inn skriptet som vises i følgende bilde i den. I dette skriptet har vi laget en variabel som heter “Working_Directory” og har tildelt den verdien “$ (PWD)”. Kommandoen “PWD” vil ganske enkelt lagre utdataene i.e. Den nåværende arbeidskatalogen i variabelen “Working_Directory”. For å sikre om "PWD" -kommandoen er blitt utført riktig eller ikke, har vi skrevet ut verdien av "Working_Directory" -variabelen på terminalen ved å bruke “Echo” -kommandoen. Lagre nå denne filen og lukk den deretter etter å ha skrevet det modifiserte bashskriptet i den.

Trinn 2: Utfør det modifiserte bashskriptet via terminalen:

Utfør nå dette bashskriptet på samme måte som forklart ovenfor. Utgangen fra dette bash -skriptet vil vise deg den gjeldende arbeidskatalogen. Den fremhevede delen av utgangen er faktisk, output fra “PWD” -kommandoen.

Konklusjon:

Denne artikkelen gir en veldig god ide om hvordan du kan utføre en kommando som er lagret i en variabel i bash og kan få samme utgang som du ville ha fått hvis du kjørte kommandoen uavhengig.