Vyhledávání na webu

Jak přiřadit výstup příkazu Linux k proměnné


Když spustíte příkaz, vytvoří nějaký druh výstupu: buď má vytvořit výsledek programu, nebo stavová/chybová hlášení podrobností o provádění programu. Někdy můžete chtít uložit výstup příkazu do proměnné pro použití v pozdější operaci.

V tomto příspěvku se podíváme na různé způsoby přiřazení výstupu příkazu shellu proměnné, zvláště užitečné pro účely skriptování shellu.

Chcete-li uložit výstup příkazu do proměnné, můžete použít funkci nahrazování příkazů shellu ve formulářích níže:

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

Níže je uvedeno několik příkladů použití substituce příkazů.

V tomto prvním příkladu uložíme hodnotu příkazu who (který ukazuje, kdo je přihlášen do systému) do proměnné CURRENT_USERS user:

CURRENT_USERS=$(who)

Pak můžeme proměnnou použít ve větě zobrazené pomocí příkazu echo takto:

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

Ve výše uvedeném příkazu: příznak -e znamená interpretovat všechny použité sekvence escape (jako je \n pro nový řádek). Abyste se vyhnuli plýtvání časem a pamětí, jednoduše proveďte nahrazení příkazu v příkazu echo takto:

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

Dále demonstrovat koncept pomocí druhého formuláře; můžeme uložit celkový počet souborů v aktuálním pracovním adresáři do proměnné nazvané FILES a echo to později takto:

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

To je prozatím vše, v tomto článku jsme vysvětlili metody přiřazení výstupu příkazu shellu k proměnné. Své myšlenky můžete k tomuto příspěvku přidat prostřednictvím sekce zpětné vazby níže.