இது சரியான ஐபி அல்லது பாஷில் இல்லையா என்பதைச் சரிபார்க்கவும் (ஐபி சரிபார்க்கும் செயல்பாடு)

சில சூழ்நிலைகளில் நமக்கு உதவக்கூடிய மற்றொரு உதவிக்குறிப்பு இது. இந்த இடுகையை ஒரு நினைவூட்டலாக நான் அதிகம் செய்கிறேன், ஏனென்றால் எனக்கு இது ஒரு கட்டத்தில் மீண்டும் தேவைப்படும் என்று எனக்குத் தெரியும்.

நாங்கள் சில ஸ்கிரிப்டை செய்யும்போது பாஷ், மற்றும் பயனர் ஒரு ஐபி முகவரியை உள்ளிட வேண்டும், பின்னர் நாங்கள் (ஸ்கிரிப்ட்) அந்த ஐபி முகவரியைப் பயன்படுத்தி ஏதாவது செய்ய, எல்லாம் எங்கே தவறாக நடக்கக்கூடும் என்று உங்களுக்குத் தெரியுமா? ... பயனர் ஒரு ஐபிக்குள் நுழைய மாட்டார், எந்தவொரு முட்டாள்தனத்தையும் அல்லது முழுமையற்ற ஐபியையும் அல்லது அதைப் போன்றவற்றையும் வைக்க, நிரல் செய்பவர்களுக்கு நான் என்ன சொல்கிறேன் என்று தெரியும் ... ஏனென்றால் இது மிகவும் அபத்தமானது கூட நடக்கும் என்று நினைத்து திட்டமிடப்பட வேண்டும் 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

முழுமையான ஸ்கிரிப்டை இங்கே விட்டு விடுகிறேன்:

ஐபி சரிபார்க்கும் செயல்பாடு (எடுத்துக்காட்டு)

கவனமாக பாருங்கள் ஆரம்பத்தில் நான் அதை அறிவிக்கிறேன்: #! / பின் / பாஷ் ... அவர்கள் வைத்தால் #! / பின் / SH இது வேலை செய்யாது, நான் கிட்டத்தட்ட 2 நாட்கள் சண்டையிட்டு ஆர்ப்பாட்டம் செய்தேன், ஏனென்றால் செயல்பாடு எனக்கு வேலை செய்யவில்லை, அது எனக்கு இருந்தது sh பாஷ் ஹஹாஹாவுக்கு பதிலாக.

சேர்க்க வேறு எதுவும் இல்லை, இதற்கான செயல்பாடுகள் உள்ளன பைதான், பேர்ல் மற்றும் பிற மொழிகள் ... உண்மையில், ஐபிக்களை சரிபார்க்க ஒரே வழி அல்ல என்பதை நான் உங்களுக்குக் காட்டுகிறேன் பாஷ், ஆனால் அது எனக்கு மிகவும் நல்லது, அதனால்தான் இதைப் பகிர்ந்து கொள்கிறேன்

மேற்கோளிடு


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  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}]]; " எனவே ஒரு ஐபிவி 6 தவறாக எழுதப்பட்டால் ... வன்முறை ... o_0 ஹெக்ஸாடெசிமல் மற்றும் அதன் 128 பிட்டுகளை வைக்க வேண்டிய குழப்பம்.

    நிச்சயமாக, இது நான் எழுப்பிய ஒரு கற்பனையான வழக்கு

    1.    KZKG ^ காரா அவர் கூறினார்

      ஐபிவி 6 க்கு… அடடா, நான் நகைச்சுவையாகக் கூட பேசவில்லை… அதை விட்டுவிடட்டும்… ஐபிவி 6 (செயல்பாடு) பற்றி என்னவென்று கூட எனக்கு புரியவில்லை என்றால், நான் ஒரு ஐபி எல்ஓஎல் சரிபார்க்க கூட முயற்சிக்கவில்லை!

      1.    டார்கான் அவர் கூறினார்

        ஹே, அது உண்மையாக இருந்தால், அதைப் பற்றி சிந்திப்பது பயமாக இருக்கிறது, ஆனால் அணுகுமுறை உள்ளது

  3.   அலெஜான்ட்ரோ மோரா அவர் கூறினார்

    இது ஏற்கனவே இயங்குகிறது, இயக்கவும் ./ ஸ்கிரிப்ட் மற்றும் sh ஸ்கிரிப்ட் அல்ல.

    1.    KZKG ^ காரா அவர் கூறினார்

      ஆமாம், நீங்கள் sh ஸ்கிரிப்டைச் செய்தால், அதை sh உடன் விளக்குவதற்கு முயற்சிக்கும் ... நீங்கள் அதை பாஷ் ஸ்கிரிப்ட் செய்ய வேண்டும் ./script.sh as

  4.   அனதூர் அவர் கூறினார்

    வணக்கம், உங்கள் உதவிக்கு நன்றி, இது மிகவும் உதவியாக இருந்தது.