2012-05-23 17 views
1

我想用一個簡短的shell腳本來獲得我的默認網關地址。因此,它會做shell腳本獲取eth0的網關地址

$> whatismygateway.sh 
192.168.100.10 

我已經試過ifconfig eth0,但它只是不包含網關的任何信息。

+0

另請參閱我的更新 – DonCallisto

回答

1

route | grep default應該給你你要找的東西,但是如果你有多個接口,你可能需要進一步過濾結果。

1

如果eth0是你的界面,你可以嘗試這樣的事情

cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep GATEWAY|sed 's/^[A-Z].*=//' 

輸出:

95.174.29.225

你也可以使用route命令

+1

這有一個無用的貓和無用的Grep使用| Sed。它可以表示爲一個'sed'腳本,可能沿'sed -n'/^GATEWAY = // p'/etc/sysconfig/network-scripts/ifcfg-eth0'行寫,但我不在我的電腦。這可能特定於Ubuntu,不能移植到其他發行版。 – tripleee

+0

@tripleee:你可能是對的,但我在第一次grep後添加了'sed'並更新了代碼。然而,它的工作。 – DonCallisto