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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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
    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
    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
    hmm,

    jupp Shell hat irgendwie ein seltsame Syntax.
     
  6. Maerel

    Maerel Zensiert

    Dabei seit:
    15.01.2003
    Beiträge:
    180
    Zustimmungen:
    0
    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
    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
    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. 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
     
  11. #10 ConCode, 19.02.2003
    ConCode

    ConCode LPIC-2 certified

    Dabei seit:
    25.01.2003
    Beiträge:
    128
    Zustimmungen:
    0
Thema:

Bash Programmierung

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. bash: ash: Kommando nicht gefunden

    bash: ash: Kommando nicht gefunden: seit einem der letzten updates habe ich beim öffnen eines Terminals die o.a. Fehlermeldung: "bash: ash: Kommando nicht gefunden" Hat jemand einen...
  4. Bash Unter- Skript unabhängig starten

    Bash Unter- Skript unabhängig starten: Hallo. Ich bin neu hier, und versuche mich auch ein wenig mit Bash Skripten um ein paar Aufgaben zu Automatisieren. Im Moment geht es darum IP...
  5. NAS-Drive Mount in Bash-Script über crontab

    NAS-Drive Mount in Bash-Script über crontab: Hallo liebe Leute, ich versuche seit Wochen ein rsync Bash-Script für die Sicherung eines Raspberry Pi's zum Laufen zu bringen und scheitere...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden