Verstehe Code nicht...

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von -eraz-, 20.12.2010.

  1. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Ich hab hier Code, der eine IP Adresse auf Gültigkeit überprüfen soll. Dabei ist mir nun aber ein Fehler aufgefallen:
    Code:
               ip=$1
    
    if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
       echo passt
    else
       echo "passt nicht"
    fi
    
    Wenn man 10.24.1 übergibt wird diese als unügltig erkannt. Wenn allerdings das erste und zweite Feld dreistellig ist, und sonst nichts dazu geschrieben wird, wird die IP fälschlicherweise als gültig erkannt. z.b. bei: 192.100

    :think:
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 tuxlover, 20.12.2010
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    Du hast es hier mit Regulären Ausdrücken und einigen Maskierungen zu zu tun. Also google mal nach regexp.

    Dieser Ausdruck wird dann Bitweise mit dem Inhalt der Variablen ip verglichen, den du beim Aufruf des Scriptes als Parameter zuweist.
     
  4. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Code:
    tg@nachtigaller:~$ ip=192.100
    tg@nachtigaller:~$ if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
    >    echo passt
    > else
    >    echo "passt nicht"
    > fi
    passt nicht
    
    Sieht doch gut aus!? Mit was fuer einer shell arbeitest Du und unter welchem System?
     
  5. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Hab die Lösung schon gefunden, liegt angeblich an der neueren Bash Version. Hier muss der "Prüfcode" unter Anführungszeichen stehen, dann gehts (GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)

    @tuxlover
    Womit ich es zu tun habe weiß ich auch, das war nicht die Frage.
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Schreib doch bitte den Code noch auf, damit sich der naechste, der so ein Problem hat und ueber diesen stolpert, nicht fragen muss, welcher Teil der Pruefcode ist. Danke.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Bitteschön:
    Code:
               
    ip=$1
    if [[ $ip =~ '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' ]]; then
       echo passt
    else
       echo "passt nicht"
    fi
     
  9. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Seit RedHat 6 muss der basagte Teil wieder ohne Hochkomma stehen! :finger:
     
Thema:

Verstehe Code nicht...

Die Seite wird geladen...

Verstehe Code nicht... - Ähnliche Themen

  1. Verstehen "class isaf::Cat2 * cat2 = new isaf::Cat2Release(data); "

    Verstehen "class isaf::Cat2 * cat2 = new isaf::Cat2Release(data); ": Hey Leute ich wurschtel mich bei c++ gerad durch einen Quelltext und bin dabei auf folgendes Konstrukt gestoßen class isaf::Cat2 * cat2 = new...
  2. trace: Vorgänge im Linux-System besser verstehen

    trace: Vorgänge im Linux-System besser verstehen: Eine Neuentwicklung der Kernelentwickler Thomas Gleixner und Ingo Molnar verspricht, Vorgänge im Linux-System besser als herkömmliche Tools...
  3. DirectX statt OpenGL - Ich werde es nie verstehen

    DirectX statt OpenGL - Ich werde es nie verstehen: Oder doch? Gibt es eigentlich irgend einen ersichtlichen Grund warum beinahe alle Spieleschmieden auf DirectX anstatt auf OpenGL setzen? Erstens...
  4. Ich verstehe den Winbind nicht

    Ich verstehe den Winbind nicht: Hallo zusammen! Ich habe ein kleines Problem mit Samba (v3.0.26a) als PDC und Samba (3.0.23d) als Domänenmitglied: Ich habe einen neuen PDC...
  5. Keine Hilfe nur eine reine Verstehensfrage zu KDE

    Keine Hilfe nur eine reine Verstehensfrage zu KDE: Also ich hab KDE 3.5... ka welche endnummer und als System läuft Kubuntu... Als ich den Grafiktreiber installiert habe, habe ich gemerkt das wenn...