Kuinka määrittää Linux-komennon tulos muuttujalle
Kun suoritat komennon, se tuottaa jonkinlaisen ulostulon: joko oletetaan, että ohjelman tulos tuottaa, tai ohjelman/suorituksen yksityiskohtien tila/virheilmoitukset. Joskus kannattaa ehkä tallentaa komennon lähtö muuttujaan, jota käytetään myöhemmässä toiminnossa.
Tässä viestissä tarkastelemme eri tapoja määrittää komentotulkkikomennon ulostulo muuttujalle, joka on erityisen hyödyllinen komentosarjan komentosarjatarkoituksiin.
Voit tallentaa komennon lähdön muuttujaan käyttämällä komentokomentojen vaihtoominaisuutta alla olevissa muodoissa:
variable_name=$(command) variable_name=$(command [option ...] arg1 arg2 ...) OR variable_name='command' variable_name='command [option ...] arg1 arg2 ...'
Alla on muutama esimerkki komentojen korvaamisen käytöstä.
Tässä ensimmäisessä esimerkissä tallennetaan who
-komennon (joka osoittaa järjestelmään kirjautuneen henkilön) arvon muuttujaan CURRENT_USERS
user:
$ CURRENT_USERS=$(who)
Sitten voimme käyttää muuttujaa näytetyssä lauseessa echo-komennolla seuraavasti:
$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
Yllä olevassa komennossa: lippu -e
tarkoittaa kaikkien käytettyjen pakosarjojen tulkitsemista (kuten
$ echo -e "The following users are logged on the system:\n\n $(who)"
Seuraavaksi esittelemään käsite toisella lomakkeella; Voimme tallentaa nykyisen työhakemiston tiedostojen kokonaismäärän muuttujaan nimeltä FILES
ja toistaa sen myöhemmin seuraavasti:
$ FILES=`sudo find . -type f -print | wc -l` $ echo "There are $FILES in the current working directory."
Se on nyt, tässä artikkelissa selitimme tapoja, joilla komentotulkkikomennon lähtö määritetään muuttujalle. Voit lisätä ajatuksesi tähän viestiin alla olevan palauteosan kautta.