Почему то же самое отправляет ошибки на стандартный вывод и выводит на стандартный вывод? - PullRequest
1 голос
/ 01 июля 2010

Может быть, я что-то упускаю, но когда я набираю команду verbose ditto (ditto [-v] [-V] 2>>some.log), она отправит обычный вывод на stderr.Поэтому мой some.log файл будет заполнен записями типа copying file ....

. Это не имеет логического смысла для меня, но это то, что говорится в руководстве:*

Я не проверял это, но я предполагаю, что фактические ошибки ввода / вывода отправляются на stdout.Мое первоначальное желание состояло в том, чтобы отображать обычный вывод, но регистрировать все ошибки.Если предположить, что ошибки отправляются на stdout, то эта проблема на самом деле не является большой проблемой, просто семантика мне не нужна.

Итак, это должно дать мневыходы:

ditto -V /some/path/ /some/other/path 1>>some.log

1 Ответ

0 голосов
/ 01 июля 2010

На самом деле, ditto отправляет как сообщения об ошибках, так и подробные сообщения о состоянии в stderr.Причина в том, что если он находится в режиме -c (создание архива), а файл назначения указан как -, он записывает архив в стандартный вывод.Смешивать статусные сообщения с архивом было бы очень и очень плохо.Кстати, tar -v делает то же самое, по той же причине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...