Это перенаправленный вывод (если вы не знаете, что такое module
, это не имеет большого значения):
$ module help null
----------- Module Specific Help for 'null' -----------------------
This module does absolutely nothing.
It's meant simply as a place holder in your
dot file initialization.
Version 3.2.6
Предположим, я бы хотел перенаправить это в файл ....
$ module help null > aaa.txt
----------- Module Specific Help for 'null' -----------------------
This module does absolutely nothing.
It's meant simply as a place holder in your
dot file initialization.
Version 3.2.6
$ cat aaa.txt
$
Ну, это должно быть на stderr
$ module help null 2> aaa.txt
This module does absolutely nothing.
It's meant simply as a place holder in your
dot file initialization.
Version 3.2.6
$ cat aaa.txt
----------- Module Specific Help for 'null' -----------------------
$
Эй! Это сбрасывает мой редирект. Это действительно раздражает, и у меня есть два вопроса:
- Как мне добиться того, чего я хочу, а именно перенаправить все в мой файл
- Почему они делают такие странные вещи?
См. Также этот связанный вопрос.
РЕДАКТИРОВАТЬ: кто-то спросил в комментарии, поэтому некоторые детали. Это в AIX 5.3 в 64 битах. У меня Python 2.6.5 почти полностью доступен. У меня есть и gcc 4.1.1, и gcc 4.5.1, но не так много библиотек, с которыми их можно связать (библиотека util-linux-ng, которая содержит версию сценария, упомянутую в ответе, не компилируется для части getopt). У меня также есть несколько версий компилятора IBM XL xlc.
Причина, по которой я не указал в первую очередь, заключается в том, что я надеялся на некоторые уловки оболочки, возможно, с exec, а не во внешней программе.