Может ли функция Bash в pipe знать что-нибудь о следующей функции после нее? - PullRequest
2 голосов
/ 09 декабря 2011

Может command_b знать, что command_c следует?

command_a |command_b |command_c

Ответы [ 3 ]

0 голосов
/ 09 декабря 2011

Нет, не может, не нужно и не должно.

0 голосов
/ 09 декабря 2011

Как сказали другие ответчики, нет, command_b не может (не должен, не должен) знать, что command_c следует.Я добавляю другой ответ, потому что здесь есть немного дополнительной информации:

  1. Интерпретатор оболочки (в данном случае Bash) делает , а должен знать(потому что он реализует канал).
  2. Программа может сказать, является ли ее стандартный вывод на терминал.Это можно использовать для изменения поведения на лету (например, command_b может не включать цветовые коды ASCII, а command_c может раскрасить вывод).

См. Также:

0 голосов
/ 09 декабря 2011

Нет.Каждая программа просто читает стандартный ввод и записывает в стандартный вывод.

...