Linux管道,警告消息,标准输出

这可能是以最简单的形式提出问题的最佳地点.我正在编写一个脚本,它接受命令的输出并将其放入变量中.经过一些调试后,当错误没有转到stdout而是转到控制台(或墙)时,我发现了命令.见下面的例子:

命令成功运行时

root@local# apcaccess status
APC : 700
VERSION : xxxxx
BATTSTAT : AC

当命令出错时

root@local# apcaccess status
apcupsd @ localhost: Connection Refused.

root@local# apcaccess status | grep -i version
apcupsd @ localhost: Connection Refused.

当我尝试通过grep’apcaccess status |管道命令时,我注意到了grep -i version’我将在成功运行时获得版本号,但在系统上它出错了我收到错误消息.我相信它不会经历stdout.

问题是:如何强制输出转到标准输出

解决方法

# apcaccess status 2>&1 | grep -i version

这会将stderr重定向到stdout,所以grep会看到输出.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...