bash 統合の場合、インターフェイスからデフォルト ゲートウェイを取得する必要があります。
コマンド route -n の出力は次のとおりです。
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 p.p.p.p 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 x.x.x.x 0.0.0.0 UG 100 0 0 eth0
10.43.0.1 10.43.0.5 255.255.255.255 UGH 0 0 0 tun0
10.43.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
y.y.y.y x.x.x.x 255.255.255.255 UGH 0 0 0 eth0
x.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
128.0.0.0 10.43.0.5 128.0.0.0 UG 0 0 0 tun0
Iface tun0 のゲートウェイ (フランス語で Passerelle) をキャプチャしようとしています。
この正規表現は、Rubular で動作しています。
^[0\.]+\s+([\w\.]+)\s+.*UG.*tun0$
しかし、このシェル コマンドは機能しません (出力なし)。
route -n |egrep -oh '^[0\.]+\s+([\w\.]+)\s+.*UG.*tun0$'
どうしてか言ってくれない ?