我希望通过 bash 脚本抑制 hping3 的所有输出到 stdout(控制台),但我尝试的所有方法都会导致统计信息仍然显示,即使单个 ping 结果被抑制。
我尝试过不同的方式重定向,命令行开关‘-q’,但没有任何作用。
有想法吗?
hping3 10.1.1.1 -c 1 -q > \dev\null
hping3 10.1.1.1 -c 1 -q > logfile.txt
hping3 10.1.1.1 -c 1 -q 1>\dev\null
所有结果都会在控制台中显示以下内容:
--- 10.1.1.1 hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 1.1/1.1/1.1 ms
答案1
正如@mark-wagner所说,正确的语法是
hping3 10.1.1.1 -c 1 -q >/dev/null 2>&1
这会将标准输出重定向到名为的位桶文件/dev/null
,然后将标准错误重定向到同一位置。
如果这还不够(例如,输出不在标准错误或标准输出上),那么您可以这样做:
( hping3 10.1.1.1 -c 1 -q ) >/dev/null
我认为,无论输出指向何处,这都应该有效。