Linux Shell腳本中獲取本機(jī)ip地址方法
方法一:ifconfig -a
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
命令解析
- ifconfig -a 和window下執(zhí)行此命令一樣道理,返回本機(jī)所有ip信息
- grep inet 截取包含ip的行
- grep -v 127.0.0.1 去掉本地指向的那行
- grep -v inet6 去掉包含inet6的行
- awk { print $2} $2 表示默認(rèn)以空格分割的第二組 同理 $1表示第一組
- tr -d "addr: 刪除"addr:"這個(gè)字符串
多網(wǎng)卡情況
倘若有多個(gè)網(wǎng)卡,可能會(huì)出現(xiàn)多個(gè)不同網(wǎng)段的IP,這個(gè)時(shí)候如果還是執(zhí)行上述命令就會(huì)返回多個(gè)IP,如下:
假設(shè)某個(gè)機(jī)器有192.*.*.8和10.*.*.*網(wǎng)段的IP,現(xiàn)在要實(shí)現(xiàn)不同網(wǎng)段的IP地址打印不同的輸出,shell腳本如下
#!/bin/sh ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` echo $ip if[[ $ip =="10."*]] then echo "該網(wǎng)段是10.*.*.*網(wǎng)段" else echo "該網(wǎng)段是192.*.*.*網(wǎng)段" fi
方法二:ip addr
ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'
這里涉及awk命令,暫不展開(kāi)詳講,后面會(huì)專(zhuān)門(mén)有一篇介紹awk命令的文章哦
到此這篇關(guān)于Linux Shell腳本中獲取本機(jī)ip地址方法的文章就介紹到這了,更多相關(guān)Shell獲取本機(jī)ip內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例
這篇文章主要介紹了shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例,本文對(duì)shell的循環(huán)語(yǔ)句、判斷語(yǔ)句做了一個(gè)小結(jié),以及在使用中的注意事項(xiàng),需要的朋友可以參考下2014-07-07Linux命令ifconfig報(bào)錯(cuò)command not found的解決方法
最近在安裝Vmware CentOS,輸入ifconfig查看VM的IP地址,提示command not found,發(fā)現(xiàn)沒(méi)安裝命令包,此篇文章記錄整個(gè)問(wèn)題解決方法,有和小編遇到一樣的問(wèn)題的小伙伴可以參考閱讀本文2023-08-08Linux在shell中自動(dòng)生成1到100的數(shù)組方法(兩種方法)
之前自己在寫(xiě)shell腳本的時(shí)候,需要自動(dòng)創(chuàng)建1-100的文本確不知道該如何去創(chuàng)建。今天小編給大家分享兩種方法,需要的朋友參考下2017-02-02Linux命令之網(wǎng)絡(luò)命令route詳解
route命令是Linux系統(tǒng)中的一個(gè)網(wǎng)絡(luò)管理工具,用于顯示和操作IP路由表,它可以用來(lái)查看當(dāng)前系統(tǒng)的路由表信息,添加、刪除或修改路由表項(xiàng),以及顯示路由表中的詳細(xì)信息,本文給大家介紹Linux命令之網(wǎng)絡(luò)命令route詳解,感興趣的朋友一起看看吧2023-10-10用expect實(shí)現(xiàn)ssh自動(dòng)登錄服務(wù)器并進(jìn)行批量管理的實(shí)現(xiàn)方法
這篇文章主要介紹用expect實(shí)現(xiàn)ssh自動(dòng)登錄服務(wù)器并進(jìn)行批量管理的實(shí)現(xiàn)方法,需要的朋友可以參考下2013-02-02shell批量創(chuàng)建文件并重新命名的實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于shell批量創(chuàng)建文件并重新命名的相關(guān)資料,文中還介紹了批量刪除文件以及文件更名的多種方法,每種方法都給出了詳細(xì)實(shí)例代碼,需要的朋友可以參考下2021-07-07