Problem mit test und regular expression

Diskutiere Problem mit test und regular expression im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Vorweg meine besten Grüße :) Folgender RegEx Test funktioniert bei mir nicht... was mache ich falsch? #!/bin/bash echo -n "Geben Sie a, b...

  1. jostrn

    jostrn Grünschnabel

    Dabei seit:
    12.07.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Vorweg meine besten Grüße :)

    Folgender RegEx Test funktioniert bei mir nicht... was mache ich falsch?

    Code:
    #!/bin/bash
    echo -n "Geben Sie a, b oder c ein "
    read answer
    until [[ "$answer" =~ "[abcABC]" ]]; do
    	echo -n "Erlaubt sind nur a, b oder c. Bitte richtig eingeben: "
    	read answer
    done
    
    Vielen Dank und Grüße
     
  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 daboss, 15.07.2009
    Zuletzt bearbeitet: 15.07.2009
    daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Was hältst du von folgendem:
    Code:
    #!/bin/bash
    echo -n "Geben Sie a, b oder c ein "
    read answer
    until [ $(echo "$answer" | grep ^[a-cA-C]$) ]; do
        echo -n "Erlaubt sind nur a, b oder c. Bitte richtig eingeben: "
        read answer
    done
    
    Ergäbe:
    Code:
    Geben Sie a, b oder c ein 
    Erlaubt sind nur a, b oder c. Bitte richtig eingeben: AB
    Erlaubt sind nur a, b oder c. Bitte richtig eingeben: asdgahrs
    Erlaubt sind nur a, b oder c. Bitte richtig eingeben: ccc
    Erlaubt sind nur a, b oder c. Bitte richtig eingeben: c
    <fertig>
    
     
  4. #3 bytepool, 15.07.2009
    Zuletzt bearbeitet: 15.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    portabler ist wahrscheinlich die Variante von daboss, aber wenn du doch lieber =~ verwenden moechtest, lies dir mal diesen alten thread durch:
    http://www.unixboard.de/vb3/showthread.php?t=35123

    An dem Operator wurde vor einiger Zeit was am quoting geaendert, d.h. es ist wichtig welche bash Version du benutzt. Eventuell musst du einfach die Anfuehrungszeichen weglassen.

    Edit:
    Dass du keine Fehlermeldung angibst. ;p

    mfg,
    bytepool
     
  5. #4 tuxlover, 15.07.2009
    Zuletzt bearbeitet: 15.07.2009
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    ich würde alles was mit optionen und steuerung eines scriptes zu tun hat immer mit getopts machen. früher habe ich auch diesen krampfigen read unsinn gemacht.

    sobald das script aber komplexer wird macht das keinen spaß mehr dass nachträglich da reinzufummeln.

    generell würde ich das aber mit ner case abfrage regeln:

    Code:
    #!/bin/bash
    
    ANSWER= #initialisiert die Variable. ist manchmal notwensdig
    
    get_answer()
    {
    read -n 1 -p "Geben Sie a, b oder c ein " ANSWER
    ${ANSWER:="Standartantwort"} 2> /dev/null #unterbindet unberechtigtes meckern
    verify_answer
    } 
    
    verify_answer()
    {
      case $ANSWER in
       a) do something
       ;;
       b) do something
       ;;
       c) do something
       ;;
       A) do something
        ;;
       B) do something
       ;;
       C) do something
       ;;
       *) echo ""Erlaubt sind nur a, b oder c. Bitte richtig eingeben:" &&   get_answer 
        esac
    }
    
    get_answer
    
    
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Problem mit test und regular expression

Die Seite wird geladen...

Problem mit test und regular expression - Ähnliche Themen

  1. Xserver probleme seit upgrade zu testing

    Xserver probleme seit upgrade zu testing: Hallo Ich habe mein Debian von Etch auf testing upgegradet. Seit dann funktioniert der Xserver irgendwie nicht mehr. Bei "startx" wird der...
  2. Problem bei der installation einer Sun Netzwerkkarte

    Problem bei der installation einer Sun Netzwerkkarte: Guten Morgen zusammen, beim installieren einer zusätzlichen Netzwerkkarte habe ich ein Problem. Die Karte wird nicht automatisch installiert. Es...
  3. Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe

    Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe: Liebe Community, zurzeit arbeite ich an eine Active Directory Domäne die mittels Samba läuft. Dazu habe ich einen AD DC auf Debian 8.7 mit Samba...
  4. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....
  5. Verständnisproblem Samba / LDAP

    Verständnisproblem Samba / LDAP: Hallo zusammen! Ich habe unter Ubuntu 16.04 einen LDAP und Samba Server aufgesetzt. Diese scheinen auch ordnungsgemäß zu funktionieren, sodaß ich...