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. 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....
  3. 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...
  4. nginx+php-fpm problem

    nginx+php-fpm problem: Moin, ich hab hier gerade ein Problem und keine Idee mehr woran es liegt. Ich muss wie schon in der Überschrift erwähnt nginx dazu bringen php...
  5. Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen

    Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen: Ich mache gerade meine ersten Schritte mit Linux und würde gerne auf Dateien meines Linuxsystems auch mit Windows zugreifen, ich bin am...