Wéi eng Ausgang vun engem Linux Kommando un eng Variabel ze ginn


Wann Dir e Kommando ausféiert, produzéiert et eng Aart Ausgang: entweder d'Resultat vun engem Programm soll produzéieren oder Status/Fehlermeldungen vun de Programmausféierungsdetailer. Heiansdo wëllt Dir d'Ausgab vun engem Kommando an enger Variabel späicheren fir an enger spéider Operatioun ze benotzen.

An dësem Post wäerte mir déi verschidde Weeër iwwerpréiwen fir den Ausgang vun engem Shell-Kommando un eng Variabel ze ginn, speziell nëtzlech fir Shell-Skriptzwecker.

Fir d'Ausgab vun engem Kommando an enger Variabel ze späicheren, kënnt Dir d'Shell Kommando Ersatzfunktioun an de Formen hei drënner benotzen:

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

Drënner sinn e puer Beispiller fir Kommando Ersatz ze benotzen.

An dësem éischte Beispill späichere mir de Wäert vun wien (wat weist wien um System ageloggt ass) Kommando an der Variabel CURRENT_USERS Benotzer:

$ CURRENT_USERS=$(who)

Da kënne mir d'Variabel an engem Saz benotze mat dem Echo Kommando sou:

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

Am Kommando uewendriwwer: de Fändel -e bedeit all Fluchsequenzen (wéi ) fir Newline) benotzt. Fir d'Verschwendung vun Zäit souwéi Erënnerung ze vermeiden, maacht einfach de Kommando Ersatz am Echo Kommando aus wéi follegt:

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

Als nächst, fir d'Konzept mat der zweeter Form ze demonstréieren; mir kënnen d'Gesamtzuel vun de Dateien am aktuellen Aarbechtsverzeechnes an enger Variabel mam Numm FILES späicheren an et spéider wéi follegt echoen:

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

Dat ass et fir elo, an dësem Artikel hu mir d'Methoden erklärt fir den Ausgang vun engem Shell-Kommando un eng Variabel ze ginn. Dir kënnt Är Gedanken zu dësem Post iwwer d'Feedback Sektioun hei drënner addéieren.