Kako dodeliti izhod ukaza Linux spremenljivki


Ko zaženete ukaz, ustvari nekakšen rezultat: bodisi rezultat programa naj bi ustvaril bodisi sporočila o stanju/napaki podrobnosti o izvajanju programa. Včasih boste morda želeli izhod ukaza shraniti v spremenljivko, ki bo uporabljena v poznejši operaciji.

V tem prispevku bomo pregledali različne načine dodeljevanja izhoda ukaza lupine spremenljivki, ki je posebej uporabna za skriptiranje lupine.

Če želite izhod ukaza shraniti v spremenljivko, lahko uporabite funkcijo zamenjave ukaza lupine v spodnjih obrazcih:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

Spodaj je nekaj primerov uporabe nadomestitve ukazov.

V tem prvem primeru bomo shranili vrednost ukaza who (ki prikazuje, kdo je prijavljen v sistem) v spremenljivko CURRENT_USERS user:

$ CURRENT_USERS=$(who)

Potem lahko spremenljivko uporabimo v stavku, ki se prikaže z ukazom echo tako:

$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

V zgornjem ukazu: zastavica -e pomeni razlagati vsa uporabljena ubežna zaporedja (na primer \n za novo vrstico). Da se izognete izgubi časa in pomnilnika, preprosto izvedite zamenjavo ukaza v ukazu echo, kot sledi:

$ echo -e "The following users are logged on the system:\n\n $(who)"

Nato predstaviti koncept z drugo obliko; skupno število datotek lahko shranimo v trenutni delovni imenik v spremenljivko, imenovano FILES , in jo pozneje odmevamo, kot sledi:

$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."

Za zdaj je to to, v tem članku smo razložili metode dodeljevanja izhoda ukaza lupine spremenljivki. Svoje misli tej objavi lahko dodate v spodnjem razdelku za povratne informacije.