Her zaman hatayı / dev / null'a yönlendir


22

Hata mesajlarını bir komuttan /dev/nullaşağıdaki sözdizimini kullanmaya yönlendirebileceğimi biliyorum :

command arg1 arg2 2>/dev/null

Fakat bunu varsayılan olarak yapmanın bir yolu var /dev/null, aksi takdirde belirtmediğim sürece hata mesajlarının her zaman devam etmesi ?


1
Kısacası: evet - / dev / stderr komutunu / dev / null dizinine yönlendirin. Ancak, kendi başınıza çözemezseniz, denememelisiniz, çünkü başarılı olmaktan çok ölümcül bir şeyi kırmanız daha olasıdır.
Benubird

@Benubird stderr! = / Dev / stderr. Bu dosyayı yönlendirmek hiçbir şey yapmaz. / Dev / içindeki dosya sadece kolaylık sağlamak içindir.
Chris Down,

@ChrisDown haklısın, / dev / stderr sadece bir link. Yine de, birçok yönlendirme, yönlendirebileceğiniz fd / 2 yerine buna yazılır. Oradan daha karmaşık hale geliyor - bu yüzden cevap yerine yorum bıraktım :).
Benubird

Yanıtlar:


29

Birçok program stderr'e çıktı gönderir ve bu aslında hataların göstergesi değildir. Örneğin, bazı programlarda, programın çıktısını etkileyebilecek bilgileri (başka bir programa aktarılmak üzere tasarlanmıştır) görüntülemek için kullanılır. Ancak, bunu yapabilirsiniz:

exec 2>/dev/null

Bunu bir betiğin dışında yapmayı tavsiye etmem.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.