Hata iletilerini Komut İstemi'nden yeniden yönlendirme: STDERR/STDOUT
Bu makalede, Komut İstemi'nden hata iletilerini yeniden yönlendirme açıklanmaktadır.
Orijinal ürün sürümü: Visual C++
Özgün KB numarası: 110930
Özet
Bir uygulamanın çıkışını simgeyi >
kullanarak yeniden yönlendirirken, hata iletileri yine de ekrana yazdırılır. Bunun nedeni hata iletilerinin genellikle Standart Çıkış akışı yerine Standart Hata akışına gönderilmesidir.
Bir konsol (Komut İstemi) uygulamasından veya komutundan çıkış genellikle iki ayrı akışa gönderilir. Normal çıkış Standart Çıkış'a (STDOUT) ve hata iletileri Standart Hata'ya (STDERR) gönderilir. Konsol çıkışını simgeyi >
kullanarak yeniden yönlendirdiğinizde, yalnızca STDOUT'yi yeniden yönlendirirsiniz. STDERR'yi yeniden yönlendirmek için yeniden yönlendirme simgesi belirtmeniz gerekir 2>
. Bu, STDERR olan ikinci çıkış akışını seçer.
Örnek
komutu dir file.xxx
(file.xxx mevcut olmadığı durumlarda) aşağıdaki çıkışı görüntüler:
F sürücüsündeki birim şeker cane birim seri numarası 34EC-0876 olduğunu
Dosya Bulunamadı
kullanarak çıkışı NUL cihazına dir file.xxx > nul
yeniden yönlendirirseniz hata iletisini görmeye devam edebilirsiniz:
Dosya Bulunamadı
Hata iletisini NUL'ye yeniden yönlendirmek için aşağıdaki komutu kullanın:
dir file.xxx 2> nul
Ya da çıkışı bir yere, hataları da başka bir yere yönlendirebilirsiniz.
dir file.xxx > output.msg 2> output.err
STDERR çıkışını STDOUT'a yeniden yönlendirmek ve ardından STDOUT çıktısını bir dosyaya göndermek için komutunu kullanarak &1
hataları ve standart çıkışı tek bir dosyaya yazdırabilirsiniz:
dir file.xxx 1> output.msg 2>&1
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin