2016-09-21 3 views

ответ

2

Командная строка java -version возвращает выходные данные на STDERR потока (а не STDOUT). Оператор перенаправления > использует ручку потока 1 по умолчанию, то есть поток STDOUT. Для чтения из STDERR потока, необходимо указать соответствующую ручку 2 явно:

java -version 2>tmp.txt 

Командная строка java ведет себя, как ожидалось, так как он возвращает результат в STDOUT.

Ссылка на этот внешний ресурс для получения более подробной информации: Redirection.

+0

Сообщите мне, что все команды записывают вывод в stderr – user1801774

+0

Вы должны обратиться к документации ... в основном, * STDERR * предназначен для получения сообщений об ошибках (как указано в названии), все остальные данные обычно записываются в * Strout *; но это всегда зависит от «настроения» разработчиков ... – aschipfl

Смежные вопросы