Příkaz - echo $PATH|tr ":" "\n"| wc -l

Založil pevy, 14. 08. 2014, 19:18:44

Předchozí téma - Další téma

pevy

Ahoj, neví prosím někdo co dělá tento příkaz?

echo $PATH|tr ":" "\n"| wc -l

Vypíše počet řádků v souborech proměnné prostředí
Vypíše počet adresářů ve kterých se vyhledávají spustitelne soubory
Nahradí dvojtečky znakem 'n' v proměnné $PATH
Vypíše počet nastavených přepínačů shellu

Díky moc.

Roman Horník

#1
$PATH je proměnná, v níž jsou vypsaný cesty do složek s binárkama, který jsou povolený (a použitelný) pro toho kterýho uživatele; jsou oddělený dvojtečkou (:)
echo je vypíše.
Výstup:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


Jejich výpis putuje do roury, kde program tr nahradí každou dvojtečkou nikoliv znakem "n", nýbrž "\n", čemuž se říká newline (0x0A), tedy novej řádek (v UNIXovým světě je to prostě znak z klábosy Enter), čili každá položka se zobrazí na novým řádku.
Výstup:
/usr/local/bin
/usr/bin
/bin
/usr/local/games
/usr/games


Další roura vede do wc -l, čímž se spočítá počet řádků, v tomhle případě položek, počet cest.
Výstup:
5


$PATH se dá dočasně #FF2200efinovat, třeba:
PATH=`echo $PATH`:/sbin #přidá do seznamu /sbin
nebo
PATH=/bin:/usr/bin:/usr/local/bin:/usr/games:/usr/local/games #Položky jsou jako v původním $PATH, ale jinak seřazený; na funkci to nemá žádnej vliv

Rozborka:
echo $PATH | tr ":" "\n" | wc -l
    ^Vypíše obsah proměnný $PATH
           ^1. roura
                 ^Převod : na \n
                         ^2. roura
                             ^Spočítá řádky
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz