Спробуйте:
service --status-all |& grep network
Програми командного рядка можуть друкувати до двох текстових потоків, відомих як стандартний вихід (stdout) та стандартна помилка (stderr). За замовчуванням термінал просто відображає вихід для обох однаково.
Stdout надається число 1, а stderr - число 2. За замовчуванням оператори перенаправлення, як >, |і <застосовуються лише до stdout, номер 1.
|&труби як stdout, так і stderr разом до процесу на стандартному вхідному потоці (stdin) праворуч, що робить grepроботу так, як ви очікували.
Я не знаю, чому service --status-allтут друкувати на stderr, але загалом мати окремий потік stderr дуже корисно, оскільки він дозволяє бачити помилки, навіть коли stdout замовчується.