Bincika idan IP ne madaidaiciya ko a cikin Bash (aiki don inganta IP)

Wannan wani karin bayani ne da zai iya taimaka mana a wasu yanayi. Na yi wannan rubutun ne don tunatarwa, saboda na san cewa zan sake buƙatar wannan a wani lokaci kuma hahaha.

Lokacin da muke yin wasu rubutun a ciki Bash, kuma mai amfani dole ne ya shigar da adireshin IP, don daga baya mu (rubutun) don yin wani abu ta amfani da adireshin IP ɗin, shin kun san inda komai zai iya zama ba daidai ba? ... cewa mai amfani BAZAI SHIGE IP ba, don sanya wani sakarci ko rashin cika IP ko wani abu makamancin haka, waɗanda suke shirin sun san abin da nake nufi ... saboda dole ne a tsara shi da tunanin cewa koda mafi ƙarancin hankali zai faru O_o.

Daidai don kaucewa wannan yanayin, akwai ayyuka ko hanyoyi don inganta IP, ma'ana, bincika idan bayanan da mai amfani ya shigar da gaske IP ne ko a'a.

A nan na bar su:

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
}

Lokacin da mai amfani ya shiga "wani abu", wannan wani abu zai zama darajar mai canjin m ... lambar zata kasance:
echo "   Inserte lo que desea comprobar si es una IP."
read "ipdudosa"

Kuma yanzu zamu nuna don inganta abun cikin ko ƙimar m tare da aikin da ke sama, kuma wannan zai bincika idan ainihin IP ɗin ne ko a'a. Idan IP ɗin ne zai faɗi haka, idan ba haka ba zai gaya mana cewa BA IP bane:

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

Na bar cikakken rubutun anan:

Aiki don Tabbatar da IP (misali)

Duba sosai cewa a farkon na bayyana cewa shine: #! / bin / bash ... idan sun saka #! / bin / sh Wannan ba zai yi aiki ba, na kwashe kusan kwanaki 2 ina fada da zanga-zanga saboda aikin bai yi min aiki ba, kuma shi ne na ci gaba sh maimakon bash hahaha.

To babu wani abin da za a ƙara, akwai ayyuka don wannan a ciki Python, Perl da sauran harsuna ... a zahiri, wannan da na nuna muku ba ita ce hanya kawai ta inganta IPs a ciki ba Bash, amma ya kasance mai kyau a gare ni, shi ya sa na raba shi 🙂

gaisuwa


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   Ezitoc m

    Cikakke! Mai ban sha'awa. Godiya mai yawa.

    1.    KZKG ^ Gaara m

      Godiya gare ku da tsayawa da yin tsokaci 😀

  2.   tarkon m

    Babban! yanzu bari muyi ƙoƙarin daidaita wannan "idan [[$ ip = ~ ^ [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3} \. [0-9] {1,3}]]; " don haka yana gano idan aka rubuta ipv6 da mummunan ... tashin hankali ... o_0 rikicewar da zata kasance saka HEXadecimal da 128bits.

    Tabbas, wannan batun magana ne wanda na ɗaukaka 🙂

    1.    KZKG ^ Gaara m

      Zuwa IPv6 ... tsine, bana ma wargi ... bar shi ... idan ban ma fahimci abin da IPv6 ke ciki (aiki) ba, ban ma yi ƙoƙarin inganta IP LOL ba!

      1.    tarkon m

        hehe, idan gaskiya ne, yana da ban tsoro yin tunani game da shi, amma tsarin ya kasance 😛

  3.   Alejandro Mora ne adam wata m

    Ya riga ya yi aiki, kawai gudu ./script kuma ba rubutun sh ba.

    1.    KZKG ^ Gaara m

      Ee tabbas, idan kayi sh rubutun zaiyi kokarin fassarashi da sh ... yakamata kayi bash rubutun yayi daidai da ./script.sh 😉

  4.   anathur m

    Barka dai, na gode da taimakon ku, ya taimaka sosai.