微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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会看到输出.

原文地址:https://www.jb51.cc/linux/396318.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐