जांचें कि क्या यह एक सही आईपी है या नहीं बैश में (आईपी को मान्य करने के लिए फ़ंक्शन)

यह एक और टिप है जो हमें कुछ स्थितियों में मदद कर सकता है। मैं इस पोस्ट को एक अनुस्मारक के रूप में अधिक करता हूं, क्योंकि मुझे पता है कि मुझे कुछ बिंदु पर फिर से हाहा की आवश्यकता होगी।

जब हम कुछ स्क्रिप्ट में कर रहे हैं खूब जोर से पीटना, और उपयोगकर्ता को उस आईपी पते का उपयोग करने के लिए बाद में हम (स्क्रिप्ट) के लिए एक आईपी पता दर्ज करना चाहिए, क्या आप जानते हैं कि सब कुछ गलत हो सकता है? ... कि उपयोगकर्ता किसी भी बकवास या अधूरे आईपी या ऐसा कुछ डालने के लिए एक आईपी दर्ज नहीं करता है, जो प्रोग्राम को जानते हैं कि मेरा क्या मतलब है ... क्योंकि यह सोचकर प्रोग्राम किया जाना चाहिए कि यहां तक ​​कि सबसे बेतुका भी होगा O_O.

इस स्थिति से बचने के लिए, आईपी को मान्य करने के लिए फ़ंक्शंस या विधियाँ हैं, यानी यह जाँचने के लिए कि उपयोगकर्ता द्वारा दर्ज किया गया डेटा वास्तव में एक आईपी है या नहीं।

यहाँ मैं उन्हें छोड़ देता हूँ:

function validar_ip()
{
local  ip=$ipdudosa
local  stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];
then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255  && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] stat=$?
fi
return $stat
}

जब उपयोगकर्ता "कुछ" में प्रवेश करता है, तो वह कुछ चर का मूल्य होगा संदिग्ध ... कोड होगा:
echo "   Inserte lo que desea comprobar si es una IP."
read "ipdudosa"

और अब हम सामग्री या मूल्य को मान्य करने का संकेत देंगे संदिग्ध उपरोक्त फ़ंक्शन के साथ, और यह जांच करेगा कि क्या यह वास्तव में एक आईपी है या नहीं। यदि यह एक आईपी है तो यह ऐसा कहेगा, यदि यह नहीं है तो यह हमें बताएगा कि यह आईपी नहीं है:

if validar_ip ipdudosa;
then echo "Sí, es una IP correcta :D";
else
echo "No, eso NO es una IP";
fi

मैं पूरी स्क्रिप्ट यहां छोड़ता हूं:

IP को मान्य करने के लिए कार्य (उदाहरण)

अच्छी तरह से देखो कि शुरुआत में मैं घोषणा करता हूं कि यह है: #! / Bin / bash ... अगर वे डालते हैं # / बिन / श यह काम नहीं करेगा, मैंने 2 दिन लगभग पूरी लड़ाई और विरोध प्रदर्शन में बिताए क्योंकि फ़ंक्शन काम नहीं करता था, और यह था कि मेरे पास था sh बजाय हाश के।

अच्छी तरह से जोड़ने के लिए और कुछ नहीं है, इसमें इसके लिए फ़ंक्शन हैं अजगर, पर्ल और अन्य भाषाएँ ... वास्तव में, यह एक जो मैं आपको दिखाता हूं वह केवल आईपी को मान्य करने का एकमात्र तरीका नहीं है खूब जोर से पीटना, लेकिन यह मेरे लिए बहुत अच्छा रहा है, इसीलिए मैं इसे साझा करता हूं very

सादर


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   एज़िटोक कहा

    उत्तम! बहुत ही रोचक। बहुत बहुत धन्यवाद।

    1.    KZKG ^ गारा कहा

      टिप्पणी और टिप्पणी करने से रोकने के लिए आपका धन्यवाद

  2.   तारेगना कहा

    महान! अब आइए इसे अनुकूलित करने का प्रयास करें "यदि [[$ ip = ~ ^ [0-9] {1,3} \। [0-9] {1,3} \। [0-9] {1,3} \"। [0-9] {1,3}]]; " जब यह पता लगाता है कि एक ipv6 गलत वर्तनी है ... हिंसक ... o_0 गड़बड़ है जिसे हेक्साडेसिमल और उसके 128 बिट्स डालनी है।

    ज़रूर, यह एक काल्पनिक मामला है जिसे मैंने उठाया hypot

    1.    KZKG ^ गारा कहा

      IPv6 के लिए ... धिक्कार है, मैं मजाक भी नहीं करता ... इसे जाने दो ... अगर मुझे भी अच्छी तरह से समझ नहीं आ रहा है कि IPv6 के बारे में (ऑपरेशन) क्या है, तो मैं IP LOL को मान्य करने की कोशिश भी नहीं करता!

      1.    तारेगना कहा

        हे, अगर यह सच है, तो इसके बारे में सोचना भयानक है, लेकिन दृष्टिकोण मौजूद है

  3.   एलेजांद्रो मोरा कहा

    यह पहले से ही काम कर रहा है, बस चलाएँ। / स्क्रिप्ट और न ही स्क्रिप्ट।

    1.    KZKG ^ गारा कहा

      हां, यदि आप स्क्रिप्ट करते हैं, तो इसे श के साथ व्याख्या करने की कोशिश करेंगे ... आपको उसी तरह बनाने के लिए स्क्रिप्ट को करना होगा ।/cript.sh you

  4.   अनाथुर कहा

    नमस्ते, आपकी मदद के लिए धन्यवाद, यह बहुत मददगार था।