grep不像我想的那样工作

时间:2015-06-15 10:26:50

标签: grep

我想检查parsoid服务是否正在运行。所以我运行这个命令:

service --status-all|grep 'parsoid'

但结果是:

 [ ? ]  aliyun-rdate

 [ ? ]  console-setup

 [ ? ]  dns-clean

 [ ? ]  irqbalance

 [ ? ]  killprocs

 [ ? ]  kmod

 [ ? ]  mysql

 [ ? ]  networking

 [ ? ]  ondemand

 [ ? ]  pppd-dns

 [ ? ]  rc.local

 [ ? ]  sendsigs

 [ ? ]  umountfs

 [ ? ]  umountnfs.sh

 [ ? ]  umountroot

为什么呢?不应该说grep能够说出解析出来的吗?

1 个答案:

答案 0 :(得分:2)

尝试:

service --status-all 2>&1|grep -o 'parsoid'

1是stdout,2是stderr。

>用于重定向

&指定后面是文件描述符(不是文件名)

2>&1stderr重定向到stdout,然后stdout通过管道传输到grep

注意:service --status-all写入stderr