我正在做一个bash脚本,我正在抓取这个命令的输出:
fpings=$(fping -c 1 -t 1 $ips | sort)
fpings
变量确实包含命令的输出,并且命令的实际输出不会打印到shell,但它仍会为每个被ping的ip写一行到shell。
有一个开关(-q
)来抑制输出(我想要的部分)但不能抑制我不想要的部分。
如果没有将内容打印到shell中,如何从fpings命令获取结果?
答案 0 :(得分:7)
如果您不想看到标准错误,请将其重定向到/dev/null
:
fpings=$(fping -c 1 -t 1 $ips 2>/dev/null | sort)
答案 1 :(得分:2)
fpings=$( {fping -c 1 -t 1 $ips | sort; } 2>&1 )
应该工作{}捕获所有内容然后它将两个流(out和err)重定向到刚出来并保存在变量中