Linux-parancs kimenetének hozzárendelése egy változóhoz
Amikor egy parancsot futtat, az valamilyen kimenetet produkál: vagy egy program eredménye tegyük elő, vagy állapot/hibaüzenet a program végrehajtásának részleteiről. Néha előfordulhat, hogy egy parancs kimenetét egy változóban szeretné tárolni, hogy egy későbbi műveletben felhasználhassa.
Ebben a bejegyzésben áttekintjük a shell-parancsok kimenetének változóhoz való hozzárendelésének különböző módjait, amelyek kifejezetten a shell-parancsfájlokhoz hasznosak.
A parancs kimenetének változóban tárolásához használhatja a shell parancshelyettesítő szolgáltatást az alábbi űrlapokon:
variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'
Az alábbiakban néhány példa található a parancshelyettesítés használatára.
Ebben az első példában a who
(amely megmutatja, hogy ki van bejelentkezve a rendszerbe) parancs értékét a CURRENT_USERS
user változóban tároljuk:
CURRENT_USERS=$(who)
Ezután használhatjuk a változót az echo paranccsal megjelenített mondatban, így:
echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
A fenti parancsban: a -e
jelző a használt escape szekvenciák értelmezését jelenti (például a \n
újsor esetén). Az idő és a memória elvesztésének elkerülése érdekében egyszerűen hajtsa végre a parancshelyettesítést az echo parancsban az alábbiak szerint:
echo -e "The following users are logged on the system:\n\n $(who)"
Ezután a koncepció bemutatása a második forma használatával; az aktuális munkakönyvtárban lévő fájlok teljes számát eltárolhatjuk egy FILES
nevű változóban, és később echo a következők szerint:
FILES=`sudo find . -type f -print | wc -l`
echo "There are $FILES in the current working directory."
Egyelőre ennyi, ebben a cikkben elmagyaráztuk a shell parancs kimenetének változóhoz való hozzárendelésének módszereit. Az alábbi visszajelzési szakaszon keresztül hozzáfűzheti gondolatait ehhez a bejegyzéshez.