Отправка «ps» на несколько серверов, вывод в один текстовый файл

Это поведение было определено POSIX здесь :

Если в команде указано более одного оператора перенаправления, порядок оценки - от начала до конца.

и здесь :

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

Это уже имело место в Bourne shell , которую POSIX использовал в качестве основы.

Перед выполнением команды ее ввод и вывод могут быть перенаправлены с использованием специальной записи, интерпретируемой оболочкой . Следующее может появиться где угодно в простой команде - или может предшествовать или следовать за командой и не передается в вызванную команду. (…)

В отличие от исходной оболочки Bourne, POSIX не позволяет перенаправлению предшествовать сложной команде, такой как , в то время как… done , (…) и т. Д.


A обратите внимание, что порядок перенаправления важен, потому что он контролирует поведение вашей команды и предотвращает странный результат в случае сбоя. Пример:

command output

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

command >output 

3
26.01.2019, 17:27
0 ответов

Теги

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