Programowanie > Bash, skrypty powłoki
Prosty problem w bashu!
xis:
2005-05-29 20:23:20 Tad napisał:
> Jeśli jeszcze ktośby byłby miły i wytłumaczył mi co oznacza komenda: 2>&1,
> oraz > /dev/null 2>&1.
>
>
2 to standardowe wyjście błędu (stderr), a 1 to standardowe wyjście (stdout), zatem 2>&1 oznacza 'dołącz standardowe wyjście błędu do standardowego wyjścia (nie rozdzielaj ich na osobne)'.
> /dev/null oznacza 'przekieruj wyjście do /dev/null', czyli krótko i brzydko mówiąc 'olej wyjście' ;)
gomath:
> Dziekuję....
> Wygląda na to , że o to mi chodziło.
> Jeśli jeszcze ktośby byłby miły i wytłumaczył mi co oznacza komenda: 2>&1,
> oraz > /dev/null 2>&1.
>
>
Znak '>' to przekierowanie wyjścia programu.
0, 1, 2 to standardowe deskryptory plików, które otrzymuje każdy proces uruchamiany w linuksie. Domyślnie powiązane są z urządzeniem termianala.
1 to standardowe wyjście
2 to standardowe wyjście błędu
0 to standardowe wejście
Na standardowe wejście trafiają znaki z klawiatury, a wyjścia wysyłają znaki na ekran monitora. Dzięki znakowi '>' lub '>>' można zmienić to zachowanie.
I tak np.
'1>plik.log' przekieruje standardowe wyjście do pliku plik.log
'2>&1' przekieruje standardowe wyjście błędu tam, gdzie skierowane jest standardowe wyjście
'> /dev/null' przekieruje wyjście w pustkę :)
Więcej na google :)
Nawigacja
Idź do wersji pełnej