[英]Bash: echo result of multiple commands with ';'
我有两个命令,它们会在以下结果中回显我:
[root@in SNMP]# /usr/protei/utils/SNMP/check_cpe.sh general;/usr/protei/utils/SNMP/check_cpe.sh smpp;
OK
VERY OK
接下来,我将在整个循环中形成此命令行,问题是,如何将这些命令的结果回显到控制台?
#!/bin/sh
RUN="/usr/protei/utils/SNMP/check_cpe.sh general;/usr/protei/utils/SNMP/check_cpe.sh smpp;"
RES=`$RUN`
echo "$RES"
什么也没给我。 如果我在每个命令的末尾添加>> / dev / null,那么我只会收到第一个结果“ OK”
如果要对两个命令的执行进行分组,请编写一个函数。
run() {
/usr/protei/utils/SNMP/check_cpe.sh general
/usr/protei/utils/SNMP/check_cpe.sh smpp
}
在Unix Shell中,您有两个文件描述符:标准输出和标准错误。 如果您已将标准输出重定向到/ dev / null,但仍看到“ OK”,则应用程序会将“ OK”写入标准错误。 如果要结合标准错误和标准输出,请执行以下操作:
result=$(run 2>&1)
不要在2018年使用反引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.