我工作的一個bash shell腳本,我需要能夠檢查,看看如果IP地址從返回:BASH IP地址檢查
dig $HOSTNAME +short
是一個特定的子網或之內。例如,如果192.168.10.x或10.130.10.x的一部分,則執行z其他操作。
我不知道如何操作或檢查IP地址後,我將它存儲在一個變量,以便我可以構建出上述的邏輯測試。
我工作的一個bash shell腳本,我需要能夠檢查,看看如果IP地址從返回:BASH IP地址檢查
dig $HOSTNAME +short
是一個特定的子網或之內。例如,如果192.168.10.x或10.130.10.x的一部分,則執行z其他操作。
我不知道如何操作或檢查IP地址後,我將它存儲在一個變量,以便我可以構建出上述的邏輯測試。
我結束了使用下面的代碼,使其工作:
if [[ "$IP" == *10.130.10.* || "$IP" == *192.168.10.* ]]; then
mount code goes here
fi
感謝大家的幫助和解釋的事情對我來說,讓我進一步瞭解腳本。非常感謝!
如果你的子網是完整的類C,那麼你可以做一個子檢查:
if [ ${IP#192.168.10.*} == ${IP} -a ${IP#10.130.10.*} == ${IP} ]
then
echo "not in either subnet"
else
echo "in one of the subnets"
fi
編輯:請注意,這當然不驗證的IP地址是有效的,但它減輕了需要外部工具。
可能相關:[檢查一堆ip地址是否屬於給定網絡](http://stackoverflow.com/questions/435606) –