4 Narzędzia tekstowe, strumienie

4.4 Podstawianie wyników polecenia

Uruchomienie polecenia w postaci $(polecenie) powoduje podstawienie standardowego wyjścia polecenia w miejsce wywołania. Identyczne działanie można uzyskać również umieszczając polecenie pomiędzy znakami `` (pochyłe ”uszy”). Pozwala to miedzy innymi na zapisanie wyniku programu w zmiennej
$ a=$(ls /bin)
Wartość zmiennej a uzyskamy wówczas poleceniem
$ echo $a Mechanizm ten pozwala również na użycie wyjścia polecenia jako argumentów innego polecenia.

Przykłady:
$ echo `ls /bin`
lub
$ echo $(ls /bin)
wypisze listę plików z katalogu bin w pojedynczej linii.

$ mkdir $(tail -n 1 /etc/group)
utworzy pusty katalog o nazwie takiej jak ostatnia linia pliku /etc/group

$ rm $(cat lista_plikow.txt)
usunie pliki, których nazwy zawarte są w pliku tekstowym lista_plikow.txt

$ rm $(ls -t | head -n 3)
usunie z bieżącego katalogu 3 ostatnio modyfikowane pliki