Answers:
尝试:
service --status-all |& grep network
命令行应用程序可以打印到两个文本流,称为标准输出(stdout)和标准错误(stderr)。默认情况下,终端只显示两个的输出相同。
stdout是给出的数字1,和stderr被赋予数字2默认情况下,重定向操作符,比如>
,|
以及<
仅适用于标准输出,1号。
|&
将stdout和stderr一起传送到右侧标准输入(stdin)流上的进程,这可以grep
按预期进行工作。
我不知道为什么service --status-all
在这里打印到stderr,但是总的来说,拥有一个单独的stderr流非常有用,因为即使在stdout静音的情况下,它也可以让您看到错误。
service --status-all 2>&1 | grep network
操作员>
通常会重定向到文件(例如2>/tmp/file
)。要使用描述符重定向到其他流,需要在其前面加上&
(注意字符之间没有空格)。