Вопрос: Windows: перенаправление stdout и stderror на ничего


У меня есть команда, которую я запускаю, производит тонну вывода, я хочу отключить вывод без записи в файл. Я использовал следующее, чтобы отправить весь вывод в файл, но снова я не хочу, чтобы какой-либо файл выводил:

command > out.txt 2>&1

я использовал command > /dev/null на моем ящике CentOS раньше, но я не могу найти подобную вещь для окон.


24
2018-04-16 03:19


Источник


Надеюсь, вы использовали command > /dev/null на вашем CentOS. - Kurt Pfeifle
@pipitas, что бы я ни работал: D - Alec Gorge
Если вы действительно использовали command > /bin/null на CentOS вы создали общий файл с именем /bin/null в вашей системе. Ты можешь сказать 'Это сработало!', если ты хочешь. Этот файл теперь содержит stdout а также Вывод stderr вашего command, Обычно в /bin/ есть только исполняемые файлы. И обычно, только корень пользователю разрешено создавать файлы там. Итак, если этот файл есть, вы выполнили свою команду как пользователь root ... /bin/null обычно не существует - и /dev/null (который я упомянул) обычно используется как «черное целое» где нежелательный выход должен исчезнуть в ... - Kurt Pfeifle
Хороший момент, я об этом не думал. Тем не менее, я уверен, что это просто моя ошибка памяти, потому что я был в Windows в то время. - Alec Gorge


Ответы:


Вы хотите command > nul 2>&1,


33
2018-04-16 03:21



благодаря! это работает. Мне нужно подождать 12 минут, чтобы принять ответ (требование сервера)! - Alec Gorge
Это только перенаправляет stdout. Вам также нужно > nul 2>&1 или 2> nul убить stderr. - grawity
Да, я знаю это, но спасибо, что упомянул об этом для других, которые посещают этот вопрос! - Alec Gorge
просто чтобы добавить, я получал разрешенное отклонение при использовании: sudo hostname -f 2> nul, тогда как следующая команда работала хорошо: sudo hostname -f 2> / dev / null Для тех, кто сталкивается с проблемой разрешения при использовании nul - Ranvir
@JedDaniels, что означает '> nul' ?? - AminM


Вы хотите command > null 2>&1

nul работает только в командной строке, тогда как null работает в powershell

Null можно использовать в cmd.exe для совместимости, но создает файл с именем null.


2
2017-07-29 16:37



Командная строка - cmd.exe. '> null' создает файл с именем «null» с тем, что вы направляете в него из cmd.exe и из PowerShell. - Mr. Smythe
Не имел представления. Я отредактировал свой ответ. - AirCombat