Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 5846 razy

Standardowo dane zwracane przez dane polecenie w BASH-u jest wyświetlane w konsoli systemowej. Ten stan rzeczy można zmienić korzystając z odpowiedniego operatora przekierowania. Można przekierować dane np do pliku albo na wejście innego polecenia systemowego.

Przekierowanie danych do pliku

Istnieją dwa sposoby przekierowania danych do pliku, pierwszy z nich tworzy plik, a jeżeli ten istnieje nadpisuje go:

echo "Tekst do zapisania w pliku" > "nazwa pliku.txt"; echo "Odczyt danych z pliku:"; echo $(cat "nazwa pliku.txt"); echo "Kolejny tekst do zapisania w pliku" > "nazwa pliku.txt"; echo "Odczyt danych z pliku:"; echo $(cat "nazwa pliku.txt");

Wynik działania powyższego skryptu:

Odczyt danych z pliku:
Tekst do zapisania w pliku
Odczyt danych z pliku:
Kolejny tekst do zapisania w pliku

Operator > przekierowuje dane zwracane przez polecenie echo do pliku o nazwie nazwa pliku.txt, jeżeli taki plik już istnieje to zostaną z niego usunięte wszystkie wcześniej zapisane dane.

Druga możliwość pozwala dopisywać dane do pliku, jeżeli ten istnieje:

echo "Tekst do zapisania w pliku" >> "nazwa pliku.txt"; echo "Kolejny tekst do zapisania w pliku" >> "nazwa pliku.txt"; echo "Odczyt danych z pliku:"; echo $(cat "nazwa pliku.txt");

Tym razem wynik będzie następujący:

Odczyt danych z pliku:
Tekst do zapisania w pliku
Kolejny tekst do zapisania w pliku

Przekierowanie danych na wejście drugiego programu

history | grep ls;

Polecenie history wyświetla historię poleceń użytych w konsoli systemowej, ale ponieważ dane z tego polecenia są przekazywane na wejście polecenia grep, więc rezultatem będzie wyświetlenie tylko tych linii historii, gdzie występuje słowo ls.

Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.