Странное поведение при перенаправлении страниц руководства

Лучшим окружением для вас будет локальная виртуальная машина с небольшой файловой системой, смонтированной из файла в хост-системе.

Это позволит вам сделать копию файловой системы vm после первоначальной установки vm.

Затем вы сможете сбросить файловую систему, вернувшись к сохраненной копии, после того, как проведете тест вашей установки на виртуальной машине. Таким образом, вы сможете повторить тест.

4
23.12.2018, 18:37
2 ответа

Это согласуется с относительно малоизвестной частью руководства Bash, в которой говорится в разделе Грамматика оболочки:

A simple command is a sequence of optional variable assignments followed by blank-separated words and redirections, and terminated by a control operator. The first word specifies the command to be executed, and is passed as argument zero. The remaining words are passed as arguments to the invoked command.

(Подчеркнуто мое.)

Это означает, что вы можете «смешивать» любые перенаправления с командой и ее аргументами.

Например, echo > world helloэквивалентно echo hello > world.

Другими словами, запуск такой команды, как man du > du ls tac, эквивалентен запуску:

man du ls tac > du

То, что все эти три справочные страницы объединяются в файл с именем du, является результатом того, как manведет себя, когда его вывод перенаправляется или передается по конвейеру :он больше не будет пытаться использовать пейджер и будет по существу действуют как cat.

4
27.01.2020, 20:54

Только для справки/любопытства:

Я знаю, что не отвечаю на ваш вопрос, но если вам нужно перенаправить содержимое справочной страницы, вы можете сделать это с помощью col (1)

man 1 col | col -b -x > manfile.foo

0
27.01.2020, 20:54

Теги

Похожие вопросы