Bash Ako vykonať príkaz v premennej?

Bash How Execute Command Variable



Bash skripty je možné vytvárať rôznymi spôsobmi a väčšina z nás pozná spustenie jednoduchých príkazov v Bash skripte. Tieto príkazy však môžu byť tiež zapuzdrené do premenných v Bash. Tento proces je známy ako substitúcia príkazov a spravidla sa používa na uloženie výstupu príkazu do premennej, aby ste tento príkaz nemuseli spúšťať znova a znova, ale k tejto premennej môžete jednoducho získať prístup a získať tak výstup z tohto príkazu. kedykoľvek chceš. V tomto článku vám ukážeme, ako sa to dá urobiť.

Poznámka: Všetky nižšie uvedené scenáre boli vykonané na Ubuntu 20.04. Budú však fungovať presne rovnako ako pri akejkoľvek inej verzii Linuxu.







Spôsob vykonania príkazu v premennej v Bash:

Na ukážku spôsobu vykonania príkazu v premennej v Bash vám predstavíme tri rôzne scenáre, ktoré sú nasledujúce:



Vykonanie príkazu echo uloženého v premennej:

Toto je najjednoduchší scenár, v ktorom je naším cieľom vykonať príkaz echo, ktorý je uložený v premennej. Aby sa to stalo, musíte postupovať podľa nasledujúcich krokov:



Krok č. 1: Vytvorenie skriptu Bash:

Vo svojom domovskom priečinku musíte vytvoriť Bash Script, pre ktorý musíte kliknúť na ikonu Správca súborov, ako vidíte na nasledujúcom obrázku:





Teraz nájdite vo svojom domovskom priečinku akékoľvek miesto a kliknutím pravým tlačidlom naň otvorte ponuku. Z tejto ponuky vyberte možnosť Nový dokument a potom v subkaskádovej ponuke vyberte možnosť Prázdny dokument. Tým sa vytvorí nový dokument vo vašom domovskom priečinku. Teraz premenujte tento novo vytvorený dokument na ľubovoľný názov podľa vášho výberu a potom na príponu .sh. V našom prípade sme ho pomenovali ako CommandVar.sh.



Ak chcete napísať skript Bash do tohto súboru, dvakrát naň kliknite, otvorte ho a potom do súboru Bash zadajte skript zobrazený na obrázku nižšie. Tu prvý riadok skriptu, tj.!!/Bin/bash, ukazuje, že tento súbor je v skutočnosti súborom Bash. Potom sme vytvorili premennú s názvom test a priradili sme jej hodnotu $ (echo Ahoj!). Kedykoľvek chcete uložiť príkaz do premennej, musíte zadať príkaz pred symbolom $. V tomto prípade sme chceli uložiť príkaz echo do testovacej premennej, takže sme jednoducho napísali príkaz echo, za ktorým nasledovala náhodná správa, a uzavreli sme ho do okrúhlych zátvoriek a pred neho umiestnili symbol $. Takže teraz, ak chceme vykonať tento príkaz echo, budeme musieť získať prístup k testovacej premennej. Preto, aby sme overili, či príkaz echo uložený v testovacej premennej je možné úspešne vykonať alebo nie, sme vytlačili výstup testovacej premennej na terminál pomocou iného príkazu echo. Po zadaní tohto skriptu musíte súbor uložiť a zavrieť.

Krok č. 2: Spustenie bash skriptu pomocou terminálu:

Teraz musíte tento skript spustiť pomocou terminálu. Otvorte teda terminál v Ubuntu 20.04 a zadajte doň nasledujúci príkaz:

bashCommandVar.sh

Keď na vykonanie tohto príkazu stlačíte kláves Enter, budete na svojom termináli vidieť nasledujúci výstup. Tu je zvýraznená časť výstupu výstupom príkazu echo, ktorý bol uložený v testovacej premennej.

Vykonanie príkazu seq uloženého v premennej:

V tomto prípade vytlačíme postupnosť čísel pomocou príkazu seq uloženého v premennej. Aby sa to stalo, upravíme Bash skript vytvorený vyššie vykonaním nasledujúcich krokov:

Krok č. 1: Úprava bashového skriptu, ktorý bol vytvorený vyššie:

Otvorte súbor Bash, ktorý ste vytvorili vyššie uvedenou metódou, a zadajte doň nasledujúci skript. Tu sme vytvorili premennú s názvom sekvencia. Našim cieľom je vytlačiť čísla od 1 do 10 pomocou príkazu seq. Za týmto účelom sme priradili sekvenčnej premennej hodnotu $ (seq 1 10). Ak chcete, môžete tiež zadať akýkoľvek iný rozsah čísel podľa vlastného výberu. Prvé číslo za príkazom seq označuje dolnú hranicu sekvencie, zatiaľ čo druhé číslo označuje hornú hranicu. Po zadaní tohto skriptu uložte súbor a zatvorte ho.

Krok č. 2: Spustenie upraveného skriptu Bash pomocou terminálu:

Teraz spustite svoj skript Bash rovnakým spôsobom, ako je vysvetlené vyššie, a na svojom termináli budete môcť vidieť zadanú sekvenciu, ako je znázornené na obrázku nižšie:

Vykonanie príkazu „pwd“ uloženého v premennej:

Pracovný adresár si môžete vytlačiť aj pomocou príkazu pwd uloženého v premennej. Aby sme to demonštrovali, znova upravíme vyššie vytvorený skript Bash podľa nižšie uvedených krokov:

Krok č. 1: Úprava bashového skriptu, ktorý bol vytvorený vyššie:

Otvorte súbor Bash, ktorý ste práve upravili, a potom doň zadajte skript zobrazený na nasledujúcom obrázku. V tomto skripte sme vytvorili premennú s názvom working_directory a priradili sme jej hodnotu $ (pwd). Príkaz pwd jednoducho uloží svoj výstup, tj. Aktuálny pracovný adresár do premennej working_directory. Aby sme sa uistili, že príkaz pwd bol správne vykonaný alebo nie, vytlačili sme hodnotu premennej working_directory na terminál pomocou príkazu echo. Teraz uložte tento súbor a potom ho zatvorte po zadaní upraveného skriptu Bash.

Krok č. 2: Spustenie upraveného skriptu Bash pomocou terminálu:

Teraz spustite tento skript Bash rovnakým spôsobom, ako je vysvetlené vyššie. Výstup tohto bash skriptu vám ukáže aktuálny pracovný adresár. Zvýraznená časť výstupu je v skutočnosti výstupom príkazu pwd.

Záver:

Tento článok prináša veľmi dobrú predstavu o tom, ako môžete vykonať príkaz, ktorý je uložený v premennej v Bash, a môže získať rovnaký výkon, ako by ste získali, keby ste príkaz spustili nezávisle.