regexp v bashi

kocek.kvetoslav na vestizol.cz kocek.kvetoslav na vestizol.cz
Středa Květen 25 11:22:00 CEST 2005


Ahoj,

potrebuju nejakou pomoc s regularnim vyrazem.
(nejsem na to zadny expert) Tuhle konstrukci
jsem nasel na netu.

  if [ ! "$(echo $1 | grep
'[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}')" ]
    then
    echo "Spatne zadana IP adresa."
    else
    echo "OK"
  fi

Mela by kontrolovat parametr $1, jestli v nem je ip adresa.
Dela to ale nasledujici:

gateway:/usr/local/limits#
gateway:/usr/local/limits# ./ip_unblock a
Spatne zadana IP adresa.
gateway:/usr/local/limits# ./ip_unblock 172.
Spatne zadana IP adresa.
gateway:/usr/local/limits# ./ip_unblock 172.18.164.1
OK
gateway:/usr/local/limits# ./ip_unblock 172.18.164.1a
OK
gateway:/usr/local/limits# ./ip_unblock 172.18.164.1adfgfgfdgsdfh
OK
gateway:/usr/local/limits# ./ip_unblock sdfgh172.18.164.1adfgfgfdgsdfh
OK
gateway:/usr/local/limits# ./ip_unblock sdfgh172.18.164.1
OK
gateway:/usr/local/limits# ./ip_unblock sdfgh172.18.164.
Spatne zadana IP adresa.
gateway:/usr/local/limits#

Co je tam spatne? Nemuzu nic najit...
dik.
-- 
 Kosac


Další informace o konferenci Linux