Bash Programmierung

Diskutiere Bash Programmierung im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; hi, ich versuche mich gerade in der Bash Programmierung und überlege gerade, wie ich folgendes lösen kann. Ich habe mir ein kleines Menü...

  1. Maerel

    Maerel Zensiert

    Dabei seit:
    15.01.2003
    Beiträge:
    180
    Zustimmungen:
    0
    Ort:
    /home/maerel
    hi,

    ich versuche mich gerade in der Bash Programmierung und überlege gerade,
    wie ich folgendes lösen kann.

    Ich habe mir ein kleines Menü gebaut und
    möchte, dass man nur zwischen 1-7 wählen kann.
    Wenn man jetzt also eine eingabe macht,
    wie z.b 8 oder 0, sollte eine
    Fehlermeldung ausgegeben werden, wie "nur zwischen 1-7 wählen"

    Ich dachte an eine while Schlife
    ala:

    Code:
    while
    echo "Wählen Sie zwischen 1-7"
    read wahl
    [ $wahl <= 0 -a $wahl >=8 ]
    do
    echo "Nur zwischen 1-7 wählen"
    done
    
    Mir ist klar,
    dass diese Zeile
    [ $wahl <= 0 -a $wahl >=8 ]
    falsch ist, aber ich finde irgendwie nicht die
    richtigen befehle dafür *heul*
     
  2. g_eXx

    g_eXx gentoo-user

    Dabei seit:
    03.10.2002
    Beiträge:
    182
    Zustimmungen:
    0
    Ort:
    EIFEL (old europe)
    hab leider keine passende Antwort für dein Problem aber ich hab mir vor kurzem ein Buch gekauft was dir weiterhelfen kann. Ich hab noch keine Zeit es zu lesen. Auf terrashop.de bekommst du "Linux Scripting" für 12,95 €. Wenn du öfter mit der Shell programmieren willst ist das Buch genau richtig für dich.;)
     
  3. Maerel

    Maerel Zensiert

    Dabei seit:
    15.01.2003
    Beiträge:
    180
    Zustimmungen:
    0
    Ort:
    /home/maerel
    thx, schau ich mir mal an....
    man in C kann man die funktion so leicht
    programmieren ;)
     
  4. JoelH

    JoelH I love Ruby

    Dabei seit:
    13.04.2002
    Beiträge:
    653
    Zustimmungen:
    0
    Ort:
    Frankenstein/Pfalz
    hmm,

    jupp Shell hat irgendwie ein seltsame Syntax.
     
  5. Maerel

    Maerel Zensiert

    Dabei seit:
    15.01.2003
    Beiträge:
    180
    Zustimmungen:
    0
    Ort:
    /home/maerel
    hm,.. naja, ich könnte eigentlich das menü
    in c programmieren und dann bei bedarf,
    das bash script aufrufen lassen, .. wäre eigentlich einfacher.
     
  6. JoelH

    JoelH I love Ruby

    Dabei seit:
    13.04.2002
    Beiträge:
    653
    Zustimmungen:
    0
    Ort:
    Frankenstein/Pfalz
    hmm,

    oder mit case ?


    Code:
    case "$wahl" in
    
           1)      echo "Ausführung Punkt 1";;
    
           2)      echo "Ausführung Punkt 2";;
    
           *)      echo "Falsche Eingabe";;
    
    esac
    
     
  7. #7 Maerel, 16.02.2003
    Zuletzt bearbeitet: 16.02.2003
    Maerel

    Maerel Zensiert

    Dabei seit:
    15.01.2003
    Beiträge:
    180
    Zustimmungen:
    0
    Ort:
    /home/maerel
    thx, dass ist schon mal eine gute möglichkeit,
    gibts eigentlich noch sowas wie eine goto
    anweisung in der bash?

    EDIT:
    Hab die goto Anweisung mit einer
    while do schleife ersetzt. :D
     
  8. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Nein ein "goto" gibt es in der Shell nicht, braucht man aber auch nicht.
    Mit "goto" entsteht ein unuebersichtlicher und schlecht lesbarer Code.
     
  9. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    > hm,.. naja, ich könnte eigentlich das menü
    in c programmieren und dann bei bedarf,
    das bash script aufrufen lassen

    man koennte auch mit Kanonen auf Spatzen schissen :D

    Wenn du schoene Dialogboxen willst kannst du dir mal "dialog" ansehen.


    Die Test Abfrage fuer Zahlen zwischen 1-7
    [ $x -gt 0 -a $x -lt 8 ]
    Natuerlich ist die Case Abfage die bessere Wahl
    PHP:
    #!/bin/bash

    while true
    do
            
    read wahl
            
    case "$wahlin

            1
    )      echo "Ausführung Punkt 1"; break ;;

            
    2)      echo "Ausführung Punkt 2"; break ;;

            *)      echo 
    "Falsche Eingabe, bitte noch einmal";;

            
    esac
    done

    echo "Naechster Befehl"
    Gruss Rupert
     
  10. #10 ConCode, 19.02.2003
    ConCode

    ConCode LPIC-2 certified

    Dabei seit:
    25.01.2003
    Beiträge:
    128
    Zustimmungen:
    0
    Ort:
    Hamburg
Thema: Bash Programmierung
Besucher kamen mit folgenden Suchen
  1. Bash Programmieren

Die Seite wird geladen...

Bash Programmierung - Ähnliche Themen

  1. Hilfe in Bash-Programmierung

    Hilfe in Bash-Programmierung: Hallo, Bin Neuling was der Shellprogrammierung anbelangt. Gibt es eine Möglichkeit in einem Bash-Script einen Goto-Befehl nachzubilden? Ich...
  2. Bash-Programmierung - String splitten...

    Bash-Programmierung - String splitten...: Hallo, ich habe folgendes Problem. Ich habe eine fortlaufende Nr. z.B. 01234567. Am Ende dieser Nr. bzw. des Strings befindet sich sporadisch...
  3. Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

    Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?): Hallo Leute :) Ich habe heute eine E-Mail bekommen und zwar für ein Telefoninterview am übermorgen und ich bin da recht nervös, vor allem am...
  4. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  5. Bashscript aus Debian6 läuft nicht auf Debian7

    Bashscript aus Debian6 läuft nicht auf Debian7: Hallo an alle, nachdem ich ein Skript von squeeze auf wheezy kopiert habe und ausführte, erschienen gleich wilde Fehlermeldungen, nach denen ich...