Bash How to Execute a Command in a Variable?
On 22 marraskuun, 2021 by adminBash-skriptejä voidaan luoda monella eri tavalla, ja useimmat meistä tuntevat yksinkertaisten komentojen suorittamisen Bash-skriptin sisällä. Nämä komennot voidaan kuitenkin kapseloida myös Bashin muuttujiin. Tämä prosessi tunnetaan nimellä komennon korvaaminen, ja sitä käytetään yleensä komennon tuloksen tallentamiseen muuttujaan, jotta komentoa ei tarvitse suorittaa eksplisiittisesti uudestaan ja uudestaan, vaan voit yksinkertaisesti käyttää kyseistä muuttujaa saadaksesi komennon tuloksen aina halutessasi. Tässä artikkelissa näytämme, miten tämä voidaan tehdä.
Huomautus: Kaikki alla esitetyt skenaariot on toteutettu Ubuntu 20.04:llä. Ne toimivat kuitenkin täsmälleen samalla tavalla myös millä tahansa muulla Linux-makuna.
Menetelmä muuttujassa olevan komennon suorittamiseksi Bashissa:
Muuttujassa olevan komennon suorittamisen menetelmän demonstroimiseksi Bashissa esittelemme sinulle kolme erilaista skenaariota, jotka ovat seuraavat:
Muuttujaan tallennetun ”echo”-komennon suorittaminen:
Tämä on kaikkein yksinkertaisin skenaario, jossa tarkoituksenamme on suorittaa muuttujaan tallennettu echo-komento. Jotta se tapahtuisi, sinun on noudatettava alla mainittuja vaiheita:
Vaihe # 1: Bash-skriptin luominen:
Sinun on luotava Bash-skripti Home-kansioon, jota varten sinun on napsautettava Tiedostonhallinta-kuvaketta, kuten näet seuraavasta kuvasta:
Etsitään nyt mikä tahansa tila Home-kansiosta ja napsautetaan hiiren kakkospainikkeella, jolloin valikko käynnistyy. Valitse tästä valikosta Uusi asiakirja -vaihtoehto ja valitse sitten alasvetovalikosta Tyhjä asiakirja -vaihtoehto. Näin tekemällä luot uuden asiakirjan Home-kansioosi. Nimeä nyt tämä äskettäin luotu asiakirja uudelleen haluamallasi nimellä, jota seuraa .sh-pääte. Meidän tapauksessamme olemme nimenneet sen nimellä CommandVar.sh.
Kirjoittaaksesi Bash-skriptin tähän tiedostoon, avaa se kaksoisnapsauttamalla sitä ja kirjoita sitten alla olevassa kuvassa näkyvä skripti Bash-tiedostoosi. Tässä skriptin ensimmäinen rivi eli ”#!/bin/bash” osoittaa, että tämä tiedosto on itse asiassa Bash-tiedosto. Sitten olemme luoneet muuttujan nimeltä ”test” ja antaneet sille arvon ”$(echo ”Hi there!”)”. Aina kun haluat tallentaa komennon muuttujaan, sinun on kirjoitettava komento, jota edeltää ”$”-symboli. Tässä tapauksessa halusimme tallentaa komennon ”echo” muuttujaan ”test”, joten olemme yksinkertaisesti kirjoittaneet komennon ”echo” ja sen jälkeen satunnaisen viestin, sulkeneet sen pyöreisiin hakasulkeisiin ja asettaneet sen eteen symbolin ”$”. Jos siis nyt haluamme suorittaa tämän ”echo”-komennon, meidän on käytettävä muuttujaa ”test”. Varmistaaksemme, voidaanko ”test”-muuttujaan tallennettu ”echo”-komento suorittaa onnistuneesti vai ei, olemme tulostaneet ”test”-muuttujan tulosteen päätteelle käyttämällä toista ”echo”-komentoa. Kun olet kirjoittanut tämän skriptin, sinun on tallennettava tiedosto ja suljettava se.
Vaihe 2: Bash-skriptin suorittaminen päätelaitteen kautta:
Nyt sinun on suoritettava tämä skripti päätelaitteen kautta. Avaa siis terminaali Ubuntu 20.04:ssä ja kirjoita siihen seuraava komento:
Kun painat Enter-näppäintä suorittaaksesi tämän komennon, näet terminaalissasi seuraavan tulosteen. Tässä korostettu osa tulosteesta on muuttujaan ”test” tallennetun ”echo”-komennon tuloste.
Muuttujaan tallennetun ”seq”-komennon suorittaminen:
Tässä skenaariossa tulostamme lukujonon muuttujaan tallennetun ”seq”-komennon avulla. Sen aikaansaamiseksi muokkaamme edellä luotua Bash-skriptiä suorittamalla seuraavat vaiheet:
Vaihe 1: Edellä luodun Bash-skriptin muokkaaminen:
Avaa Bash-tiedosto, jonka olet luonut edellä mainitulla menetelmällä, ja kirjoita siihen seuraava skripti. Tässä olemme luoneet muuttujan nimeltä ”sequence”. Tavoitteenamme on tulostaa numerot 1-10 käyttäessämme komentoa ”seq”. Tätä varten olemme antaneet muuttujalle ”sequence” arvon ”$(seq 1 10)”. Voit halutessasi määrittää myös minkä tahansa muun haluamasi numeroalueen. Ensimmäinen numero ”seq”-komennon jälkeen osoittaa sekvenssin alarajan, kun taas toinen numero viittaa ylärajaan. Kun olet kirjoittanut tämän skriptin, tallenna tiedosto ja sulje se.
Vaihe 2: Muokatun Bash-skriptin suorittaminen terminaalin kautta:
Suorita nyt Bash-skriptisi samalla tavalla kuin edellä on selitetty, ja näet määritetyn sekvenssin terminaalissasi alla olevan kuvan mukaisesti:
Muuttujaan tallennetun ’pwd’-komennon suorittaminen:
Voit myös tulostaa työhakemistosi käyttämällä muuttujaan tallennettua ”pwd”-komentoa. Tämän havainnollistamiseksi muokkaamme edellä luotua Bash-skriptiä vielä kerran noudattamalla alla mainittuja vaiheita:
Vaihe # 1: Edellä luodun Bash-skriptin muokkaaminen:
Avaa äsken muokkaamasi Bash-tiedosto ja kirjoita siihen sitten seuraavassa kuvassa näkyvä skripti. Tässä skriptissä olemme luoneet muuttujan nimeltä ”working_directory” ja antaneet sille arvon ”$(pwd)”. Komento ”pwd” yksinkertaisesti tallentaa tulosteensa eli nykyisen työhakemiston muuttujaan ”working_directory”. Varmistaaksemme, onko komento ”pwd” suoritettu oikein vai ei, olemme tulostaneet muuttujan ”working_directory” arvon terminaaliin komennolla ”echo”. Tallenna nyt tämä tiedosto ja sulje se sen jälkeen, kun olet kirjoittanut siihen muutetun Bash-skriptin.
Vaihe 2: Muokatun Bash-skriptin suorittaminen päätelaitteen kautta:
Toteuta nyt tämä Bash-skripti aivan samalla tavalla kuin edellä on selitetty. Tämän Bash-skriptin tulosteesta näet nykyisen työhakemiston. Korostettu osa tulosteesta on itse asiassa ”pwd”-komennon tuloste.
Loppupäätelmä:
Tämä artikkeli antaa erittäin hyvän käsityksen siitä, miten voit suorittaa muuttujan sisälle tallennetun komennon Bashissa ja saada saman tulosteen, jonka olisit saanut, jos olisit suorittanut komennon itsenäisesti.
Vastaa