Yani bir ilgisi var grep
- Boru yüzünden olduğunu |
standart çıkış akışı yönlendirir stdout
oysa Permission denied
mesajlar standart hata akışında bulunmaktadır stderr
. Sen kullanarak akışları birleştirerek istediğiniz sonucu elde edebiliriz 2>&1
(kimin dosya belirleyicisidir akışı yönlendirme 2
kimin dosya belirleyicisidir akışına 1
böylece) o stderr
sıra sıra stdout
grep komutunun girişine borulu alır
find / -name libGL.so.1 2>&1 | grep -v 'denied'
ancak, onu stderr
yeniden yönlendirerek tamamen atmak daha olağan olurdu ./dev/null
find / -name libGL.so.1 2>/dev/null
2 yerine & &>> 1 |
Bash man sayfasına bir göz atarsanız, muhtemelen bu bulanıklığı fark edeceksiniz:
Eğer |&
kullanılır, komutun standart hata borusunun içinden Command2'ı standart girişine bağlanır; için kestirme 2>&1 |
.
STDERR ve STDOUT'a katılmak istiyorsanız bu yapıyı da kullanabilirsiniz:
find / -name libGL.so.1 |& grep -v 'denied'
/foo/bar/denied/libGL.so.1
, birleştirmekstdout
vestderr
ardından filtrelemek sonucu gizler