寫一個shell獲取本機ip地址、網關地址以及DNS信息。
經常會遇到取本機ip、網關、dns地址,windows一個命令ipconfig /all全部獲取到,但linux系統卻并非如此。
linux系統都自帶ifconfig命令可以查看ip相關信息,不同的版本獲取的信息可能會稍有差異,不過思路都一樣,ifconfig eth0的輸出信息中篩選出需要的ip信息:
網關地址可以通過route命令查看(netstat -r也可以輸出同樣的結果):
dns信息需要查看/etc/resolv.conf文件:
完整實現腳本如下:
#!/bin/bash
ip=`ifconfig eth0 | grep inet | awk 'NR==1{print $2}'`
dg=`route | awk 'NR==3{print $2}'`
dns=`cat /etc/resolv.conf | grep nameserver | awk 'NR==1{print $2}'`
echo "ip=$ip"
echo "dg=$dg"
echo "dns=$dns"
以上,歡迎大家討論學習。