Windows: mengarahkan ulang stdout dan stderror ke nol


33

Saya memiliki perintah yang saya jalankan menghasilkan satu ton output, saya ingin membungkam output tanpa menulis ke file. Saya telah menggunakan yang berikut ini untuk mengirim semua output ke file, tetapi sekali lagi saya tidak ingin output file:

command > out.txt 2>&1

Saya telah menggunakan command > /dev/nullkotak CentOS saya sebelumnya, tetapi saya tidak dapat menemukan hal serupa untuk windows.


Saya harap Anda menggunakan command > /dev/nullCentOS Anda.
Kurt Pfeifle

@pipitas apa pun yang saya lakukan berhasil: D
Alec Gorge

Jika Anda memang menggunakan command > /bin/nullCentOS, Anda telah membuat file file umum yang dinamai /bin/nullpada sistem Anda. Anda mungkin berkata 'Itu berhasil!' , jika kamu mau. File ini sekarang berisi stdout dan stderr output Anda command. Biasanya, di /bin/sana hanya ada file yang dapat dieksekusi. Dan biasanya, hanya pengguna root yang diizinkan membuat file di sana. Jadi jika file itu ada di sana, Anda menjalankan perintah Anda sebagai pengguna root ... /bin/nullbiasanya tidak ada - dan /dev/null(yang saya sebutkan) biasanya digunakan sebagai 'seluruh hitam' di mana output yang tidak diinginkan harus menghilang di ...
Kurt Pfeifle

Poin bagusnya, aku tidak memikirkan itu. Namun, saya cukup yakin itu hanya memori saya yang salah karena saya menggunakan Windows saat itu.
Alec Gorge

Jawaban:


47

Kamu ingin command > nul 2>&1.


Terima kasih! itu bekerja. Saya perlu menunggu 12 menit untuk menerima jawabannya (persyaratan serverfault)!
Alec Gorge

7
Ini hanya mengalihkan stdout. Anda juga perlu > nul 2>&1atau 2> nuluntuk membunuh stderr.
grawity

Ya saya tahu itu, tetapi terima kasih telah menyebutkannya untuk orang lain yang mengunjungi pertanyaan ini!
Alec Gorge

hanya untuk menambahkan, saya mendapatkan izin ditolak kesalahan saat menggunakan: sudo hostname -f 2> nul sedangkan perintah berikut bekerja dengan baik: sudo hostname -f 2> / dev / null Bagi mereka yang kehabisan masalah izin saat menggunakan nul
Ranvir

1
@AminM nuladalah kata kunci khusus Windows untuk output nol (yaitu, buang output). Pada sistem berbasis * nix (seperti yang dirujuk oleh Ranvir) mereka malah menggunakan file khusus /dev/null. The >berarti "redirect" (dan 2>berarti mengarahkan penyangga 2 - yang merupakan output error)
Doktor J

3

Kamu ingin command > null 2>&1

nulhanya bekerja di command prompt sedangkan nullbekerja di PowerShell

Null dapat digunakan di dan cmd.exe untuk kompatibilitas tetapi membuat file bernama null.


3
Prompt Perintah adalah cmd.exe. '> null' membuat file bernama 'null' dengan apa pun yang Anda arahkan ke dalamnya dari cmd.exe dan dari PowerShell.
Tn. Smythe

Saya tidak tahu. Mengedit jawaban saya dengan baik.
AirCombat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.