教你用shell指令碼在Linux上獲取外網IP位址

2021-08-28 15:08:03 字數 730 閱讀 7471

基於linux系統的獲取外網ip位址的shell指令碼,指令碼內容如下:

getip.sh

#!/bin/bash

#檢查ip的合法性

check_ipaddr()

\.\([0-9]\\.\)\[0-9]\$" > /dev/null;

if [ $? -ne 0 ]

then

#echo "ip位址必須全部為數字"

return 1

fiipaddr=$1

a=`echo $ipaddr|awk -f . ''` #以"."分隔,取出每個列的值

b=`echo $ipaddr|awk -f . ''`

c=`echo $ipaddr|awk -f . ''`

d=`echo $ipaddr|awk -f . ''`

for num in $a $b $c $d

doif [ $num -gt 255 ] || [ $num -lt 0 ] #每個數值必須在0-255之間

then

#echo $ipaddr "中,字段"$num"錯誤"

return 1

fidone

#echo $ipaddr "位址合法"

return 0

}host=ns1.dnspod.net

port=16666

ip=`cat使用命令 chmod +x getip.sh 給指令碼授權後即可執行輸出結果。

教你用shell指令碼在Linux上獲取外網IP位址

bin bash 檢查ip的合法性 check ipaddr 0 9 0 9 dev null if ne 0 then echo ip位址必須全部為數字 return 1 fiipaddr 1 a echo ipaddr awk f 以 分隔,取出每個列的值 b echo ipaddr awk f...

教你用Ruby算命!

本文又名 看看我的破機器能算多少個梅森數出來 如下,mersennes def is prime?n 這裡是用了費馬小定理,很慢很慢!2.n 1 each end 1.13 each do n m 2 n 1 mersennes 上面這個寫法,2 x要計算兩次,寫法好看,但效能很低 p mersen...

手把手教你用Ucos

ucos作業系統的學習 實時作業系統 任務切換,排程 分式作業系統 不可剝奪型核心 ucosii嵌入式實時作業系統的源 分為三部分 與硬體無關的核心 與處理器有關的移植 和使用者配置檔案。ucos最多支援64個任務,優先順序分別對應0 63,其中0為最高優先順序,系統保留4個最高優先順序的任務,和4...