"Wollen Sie wirklich...?"-Funktion

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von uhbuntuh, 26.11.2008.

  1. #1 uhbuntuh, 26.11.2008
    uhbuntuh

    uhbuntuh Jungspund

    Dabei seit:
    26.09.2007
    Beiträge:
    12
    Zustimmungen:
    0
    Hallo!
    Ich versuche eine Funktion zu schreiben, die man per && vor einen Befehl hängen kann, um vor dem Ausführen des Befehls eine Bestätigung zu erzwingen. Also ein Vista-Feature für die shell :D.

    Hier meine ersten Versuche. Allerdings erreiche ich im Moment das Gegenteil. Bei der Eingabe von "n" -> return 0 wird der Befehl ausgeführt. Bei der Eingabe von "J" -> return 1 nicht. Was mache ich falsch? Danke für eure Hilfe!

    Code:
    alias teste='wirklich "Wollen Sie wirklich irgendwas tun" && echo "irgendwas tun"'
    wirklich ()
    {
      go=""
      while [ ! "$go" = "J" ]
      do
        echo -n "$1? [J/n]: "; read go
        if [ "$go" = "n" ]; then return 0; fi
      done
      return 1
    }
     
  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 Tomekk228, 26.11.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Du überschreibst dein return mit dem 2ten Return nach der Schleife.

    Ich würde es so machen:
    Code:
    alias teste='wirklich "Wollen Sie wirklich irgendwas tun" && echo "irgendwas tun"'
    wirklich ()
    {
    echo -n "$1? [J/n]: "; read go
    if [ "$go" = "n" ]
    then 
          return 0
    else 
          return 1 
    fi
    }
    
     
  4. #3 uhbuntuh, 26.11.2008
    uhbuntuh

    uhbuntuh Jungspund

    Dabei seit:
    26.09.2007
    Beiträge:
    12
    Zustimmungen:
    0
    vielen dank für deine hilfe!
    aber irgendwie hat das nicht geholfen.

    wieso wird der befehl denn bei einem "return 0" ausgeführt und bei einem "return 1" nicht? es handelt sich doch um ein &&!
     
  5. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Alles != 0 ist'n (fehlerhafter) Programabbruch, damit ist das && hinfällig...
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Soweit ich weiss, ist ein Rueckgabewert von 0 fuer die Bash ein erfolgreiches Abschliessen, waehrend != 0 ein Fehler bedeutet. Das erlaubt es, verschiedene Fehlercodes zu haben, auch wenn das den logischen Werten von '0' und '1' widerspricht.
     
  7. #6 uhbuntuh, 26.11.2008
    uhbuntuh

    uhbuntuh Jungspund

    Dabei seit:
    26.09.2007
    Beiträge:
    12
    Zustimmungen:
    0
    Ah! Da liegt der Hund begraben. Danke für die Nachhilfestunde!
     
  8. Anzeige

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

"Wollen Sie wirklich...?"-Funktion

Die Seite wird geladen...

"Wollen Sie wirklich...?"-Funktion - Ähnliche Themen

  1. 2 DCs wollen nicht miteinander spielen

    2 DCs wollen nicht miteinander spielen: Hallo zusammen, vorweg: ich bin hier und in der Linux-Welt recht neu, deshalb bitte ich um Nachsicht, wenn ich mich irgendwie dösig anstelle....
  2. Grüne wollen Hamburg von Microsoft befreien

    Grüne wollen Hamburg von Microsoft befreien: Auf dem Offenen IT-Gipfel der Grünen Bürgerschafsfraktion und der Open Source Business Alliance ging es um Strategien, wie Hamburg in eine Zukunft...
  3. Die Grünen wollen die Hansestadt Hamburg von Microsoft befreien

    Die Grünen wollen die Hansestadt Hamburg von Microsoft befreien: Auf dem Offenen IT-Gipfel der Grünen Bürgerschafsfraktion und der Open Source Business Alliance ging es um Strategien, wie Hamburg in eine Zukunft...
  4. Europäische Grüne wollen E-Mails verschlüsseln

    Europäische Grüne wollen E-Mails verschlüsseln: Als Reaktion auf den Überwachungsskandal wollen die Abgeordneten der Grünen/EFA im Europäischen Parlament künftig verschlüsselt kommunizieren....
  5. OSBA und OSBF wollen fusionieren

    OSBA und OSBF wollen fusionieren: Nach dem im Jahr 2011 die ehemalige Linux Solutions Group e.V. (Lisog) und der Linux-Verband e.V. (LIVE) zum heutigen Verein Open Source Business...