Linux Shell腳本中獲取本機ip地址方法


 
        
  1. ifconfig -a|grep inet|grep -127.0.0.1|grep -v inet6|awk '{print $2}'|tr -"addr:"

 

命令解釋如下:

 
        
  1. grep 'inet'             截取包含ip的行
  2. grep -'127.0.0.1'     去掉本地指向的那行
  3. grep -v inet6           去掉包含inet6的行
  4. awk '{ print $2}'       $2 表示默認以空格分割的第二組 同理 $1表示第一組​
  5. tr -"addr:            刪除"addr:"這個字符串


輸出結果:

 
        
  1. [root@master]# ifconfig -a|grep inet|grep -127.0.0.1|grep -v inet6|awk '{print $2}'|tr -"addr:"
  2. 192.168.168.200

 

 在另外一台機器上的輸出結果是:

 
        
  1. [root@master]# ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "add:"
  2. 10.147.197.32
  3. 192.168.122.1

 

192.*.*.*    和  10.*.*.* 這兩個網段是不同的,現在要實現在不同網段的IP地址打印不同的輸出,shell腳本如下:

 
        
  1. #!/bin/sh
  2.  
  3. ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​`
  4. echo $ip
  5. if[[ $ip =="10."*]]
  6. then
  7. echo "該網段是10.*.*.*網段"
  8. else
  9. echo "該網段是192.*.*.*網段"
  10. fi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM