小編給大家分享一下Linux Shell腳本中如何獲取本機ip地址,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
方法一:ifconfig -a
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"命令解析
ifconfig -a 和window下執行此命令一樣道理,返回本機所有ip信息
grep inet 截取包含ip的行
grep -v 127.0.0.1 去掉本地指向的那行
grep -v inet6 去掉包含inet6的行
awk { print $2} $2 表示默認以空格分割的第二組 同理 $1表示第一組
tr -d "addr: 刪除"addr:"這個字符串
多網卡情況
倘若有多個網卡,可能會出現多個不同網段的IP,這個時候如果還是執行上述命令就會返回多個IP,如下:
假設某個機器有192.*.*.8和10.*.*.*網段的IP,現在要實現不同網段的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 "該網段是10.*.*.*網段"
else
echo "該網段是192.*.*.*網段"
fi方法二:ip addr
ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'這里涉及awk命令,暫不展開詳講,后面會專門有一篇介紹awk命令的文章哦
以上是“Linux Shell腳本中如何獲取本機ip地址”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。