从IP路由命令中抑制错误

时间:2017-03-21 10:58:34

标签: bash

我有一个shell脚本,它可以获取IPv4地址。这是我正在使用的命令:

ip route get 8.8.8.8 | awk 'NR==1 {print $NF}'

我尝试在纯IPv6环境中运行相同的命令,并收到以下错误:

RTNETLINK answers: Network is unreachable

有没有办法来抑制这个错误?我的意思是说我不希望在我的控制台日志中打印任何此类错误。

我尝试过:

ip route get 8.8.8.8 | awk 'NR==1 {print $NF}' 2> /dev/null

但我仍然可以看到错误。

1 个答案:

答案 0 :(得分:1)

你试过了:

ip route get 8.8.8.8 | awk 'NR==1 {print $NF}' 2> /dev/null

问题在于2>适用于awk命令,当然,它不会向stderr打印任何错误。您想要取消来自ip的错误。因此,您有重定向ip的{​​{1}}。

stderr