तो बॅशमध्ये योग्य आयपी आहे की नाही हे तपासा (आयपी प्रमाणित करण्यासाठी कार्य)

ही आणखी एक टीप आहे जी आम्हाला विशिष्ट परिस्थितींमध्ये मदत करू शकते. मी हे पोस्ट अधिक एक स्मरणपत्र म्हणून करतो, कारण मला माहित आहे की मला पुन्हा हे आवश्यक असेल पुन्हा हाहा.

जेव्हा आपण यात काही स्क्रिप्ट करत असतो बाश, आणि वापरकर्त्याने एक IP पत्ता प्रविष्ट करणे आवश्यक आहे, नंतर आम्ही (स्क्रिप्ट) तो IP पत्ता वापरुन काहीतरी करण्यासाठी, आपल्याला माहित आहे की कुठे सर्वकाही चूक होऊ शकते? ... की आयपी प्रविष्ट करत नाही, कोणतीही मूर्खपणा किंवा एखादी अपूर्ण आयपी किंवा असे काहीतरी ठेवण्यासाठी जे प्रोग्राम करतात त्यांना माझा काय अर्थ आहे हे माहित आहे ... अगदी हास्यास्पद असे होईल की असा प्रोग्राम केला पाहिजे ओ_ओ.

तंतोतंत ही परिस्थिती टाळण्यासाठी, आयपी वैध करण्यासाठी काही कार्ये किंवा पद्धती आहेत, म्हणजे वापरकर्त्याने प्रविष्ट केलेला डेटा प्रत्यक्षात आयपी आहे की नाही हे तपासण्यासाठी.

मी त्यांना येथे सोडतो:

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

मी पूर्ण स्क्रिप्ट येथे ठेवते:

आयपी प्रमाणित करण्यासाठी कार्य (उदाहरणार्थ)

हे चांगले पहा की मी सुरुवातीलाच जाहीर केले की ते आहे: #! / बिन / बॅश ... ते ठेवले तर #! / बिन / श हे कार्य करणार नाही, मी जवळजवळ 2 दिवस झगडा आणि निषेध करण्यात घालवला कारण कार्य माझ्यासाठी कार्य करत नाही, आणि हेच माझ्यावर होते sh त्याऐवजी बाश हाहााहा.

आणखी काही जोडण्यासारखे नाही, यासाठी येथे कार्ये आहेत python ला, पर्ल आणि इतर भाषा ... खरं तर, मी तुम्हाला दाखवित असलेला हा IP मध्ये सत्यापित करण्याचा एकमेव मार्ग नाही बाश, परंतु हे माझ्यासाठी खूप चांगले आहे, म्हणूनच मी ते सामायिक करतो 🙂

कोट सह उत्तर द्या


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   इझिटोक म्हणाले

    परिपूर्ण! अतिशय मनोरंजक. खूप खूप धन्यवाद.

    1.    केझेडकेजी ^ गारा म्हणाले

      थांबवून आणि टिप्पण्या दिल्याबद्दल धन्यवाद

  2.   नृत्य म्हणाले

    मस्त! आता हे "[[$ ip = ~ ^ [0-9] {1,3} \. [0-9] {1,3} ad. [0-9] {1,3} ad रुपांतर करण्याचा प्रयत्न करूया . [0-9] {1,3}]]; " जेणेकरून जेव्हा एखादी आयपीव्ही 6 चुकीची वर्तणूक केली जाते तेव्हा हिंसक ... ओईएस हे ओएसएक्सॅडेसिमल आणि त्याचे 0 बिट घालावे लागणारी गोंधळ शोधते.

    निश्चितच, मी वाढवलेले हे एक काल्पनिक प्रकरण आहे 🙂

    1.    केझेडकेजी ^ गारा म्हणाले

      आयपीव्ही 6 ला ... अरेरे, मी विनोदही करत नाही ... ते जाऊ दे ... आयपीव्ही 6 (ऑपरेशन) म्हणजे काय हे मला चांगल्या प्रकारे समजले नाही तर मी आयपी एलओएल प्रमाणित करण्याचा प्रयत्न देखील करीत नाही!

      1.    नृत्य म्हणाले

        हे, हे खरे असल्यास, त्याबद्दल विचार करणे भयानक आहे, परंतु दृष्टिकोन अस्तित्वात आहे 😛

  3.   अलेजान्ड्रो मोरा म्हणाले

    हे आधीपासूनच कार्य करते, फक्त ./script चालवा आणि sh स्क्रिप्ट नाही.

    1.    केझेडकेजी ^ गारा म्हणाले

      होय नक्कीच, आपण sh स्क्रिप्ट करत असल्यास ते त्यास श सह स्पष्टीकरण देण्याचा प्रयत्न करेल ... ./script.sh same सारखे करण्यासाठी आपल्याला बॅश स्क्रिप्ट करावे लागेल.

  4.   अनाथूर म्हणाले

    हाय, तुमच्या मदतीबद्दल धन्यवाद, हे खूप उपयुक्त होते.