Dün , kabuğundaki (en azından ) "aynı sonuç" olduğunu söyleyen bu SO yorumunu okudum .bash
>&-
>/dev/null
Bu yorum aslında ABS rehberine bilgisinin kaynağı olarak atıfta bulunuyor . Ancak bu kaynak >&-
sözdiziminin "dosya tanımlayıcılarını kapattığını" söylüyor .
Bir dosya tanıtıcısını kapatma ve onu boş cihaza yeniden yönlendirmenin iki eyleminin tamamen eşdeğer olup olmadığı bana açık değil. Yani benim sorum şu: onlar mı?
Onun yüzeyinde bir tanımlayıcıyı kapatmanın bir kapıyı kapatmaya benziyor ama boş bir aygıta yönlendirmek limbo'ya bir kapı açıyor! İkisi de aynı görünmüyor çünkü kapalı bir kapı görürsem, hiçbir şey atmaya çalışmayacağım ama açık bir kapı görürsem başarabileceğimi farzedeceğim.
Başka bir deyişle, hep merak etmişimdir >/dev/null
araçlar cat mybigfile >/dev/null
aslında dosyanın her byte işlemek ve yazardı o kadar /dev/null
unutuyor hangi. Öte yandan kabuk kapalı bir dosya tanıtıcı karşılaşırsa, sanırım eğilimindedir (ama emin değilim) soru olmadığını kalır gerçi sadece, bir şey yazmak olmaz cat
hala olacaktır okumak her byte.
Bu yorum aynı diyor >&-
ve >/dev/null
" aynı " olmalı , ama bana çok yankıcı bir cevap değil. Standart veya kaynak çekirdekli bazı referans ile daha yetkili bir cevap istiyorum ya da değil ...