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.