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.