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?
14
Odpowiedzi:
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).źródło
/dev/fd
. Na przykład, jeśli uciekaszecho foo > >(somecommand)
, rozwinie się doecho foo > /dev/fd/3
. Nadal jest przekierowywany, ale do procesu.