Bash Programmierung

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Maerel, 15.02.2003.

  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. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. 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.;)
     
  4. 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 ;)
     
  5. 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.
     
  6. 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.
     
  7. 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
    
     
  8. #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
     
  9. 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.
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. 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
     
  12. #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. 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....
  4. 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...
  5. Bash sucht neues Logo

    Bash sucht neues Logo: Die GNU Bourne Again Shell (bash) sucht nach knapp 20 Jahren ein neues, individuelles Logo. Alle Anwender und Interessenten sind deshalb...