如何在给定目的地的LINUX中获得默认网关?

我正在尝试使用目标0.0.0.0获取认网关

我使用了这个命令:netstat -rn | grep 0.0.0.0

它返回此列表:

Destination - Gateway      - Genmask         - Flags - MSS - Window - irtt - Iface
10.9.9.17   - 0.0.0.0      - 255.255.255.255 - UH    - 0     0        0    - tun0
133.88.0.0  - 0.0.0.0      - 255.255.0.0     - U     - 0     0        0    - eth0
0.0.0.0     - 133.88.31.70 - 0.0.0.0         - UG    - 0     0        0    - eth0

我的目标是使用目标0.0.0.0 ping认网关;因此,这是“133.88.31.70”;但是这个因为使用’grep’而返回一个列表.

问题是:我如何只获得认网关?我将需要它用于我的bash脚本来识别网络连接是否正常.

解决方法

DEFAULT_ROUTE=$(ip route show default | awk '/default/ {print $3}')
ping -c 1 $DEFAULT_ROUTE

这应该可以解决您的问题.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...