pipe vs. redirects


14

Od dawna używam piszczałek i przekierowań i po prostu zdałem sobie sprawę, że nie wiem dokładnie, jak się różnią. Po prostu wiem, że jeśli chcesz przechowywać dane wyjściowe w pliku, użyj & gt ;. W przeciwnym razie najczęściej używasz |. Czy ktoś może wyjaśnić różnicę między potokami a przekierowaniami?


Odpowiedzi:


14

Obie robią tę samą podstawową rzecz; przekierowują deskryptor pliku wykonanego procesu. Różnica polega na tym, jak. Rura łączy standardowe wyjście jednego procesu ze standardowym wejściem, podczas gdy przekierowanie przekierowuje z / do pliku ( > od stdout do pliku, < z pliku do standardowego).


To rozróżnienie, które zaciera się w Linuksie i innych systemach /dev/fd. Na przykład, jeśli uciekasz echo foo > >(somecommand), rozwinie się do echo foo > /dev/fd/3. Nadal jest przekierowywany, ale do procesu.
grawity
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.