Beiträge von Der Muede Joe im Thema „[bash] prüfen ob Befehl ausgeführt worden ist“

    Vielen Dank für die Tipps :)

    Ich will noch die Eingabe ohne Passwort mit abfangen, also wenn nur Return gedrückt wird und insgesamt 3 Versuche dann ist Schluss. Dachte da an ein oder ( || ) in der IF Anweisung in der for-Schleife, aber das funktioniert nicht.

    Habe da wohl ein Denkfehler.

    So sieht das bei mir aus:

    Code
    for i in 1 2 3
        do
        echo -n "Gocryptfs "
        gocryptfs -q -idle 30s /home/joe/.safe/ /home/joe/safe-offen/
    
        if [ $? -eq 12 ] || [ $? -eq 22 ]; then
            echo -n "$i"er" Versuch von 3 --> "
        fi
    done

    Hallo,

    ich versuche mich in der Shellprogrammierung unter der bash.

    Ich mounte aktuell so meinen Passwortsafe:

    Code
     #!/bin/bash
     echo -n "Gocryptfs "
     gocryptfs -idle 30s /home/joe/.safe/ /home/joe/safe-offen/

    Jetzt bekomme ich keine Rückmeldung wenn ich mein Passwort falsch eingebe.

    Das würde ich geren überprüfen, also wenn ein falsches Passwort eingegeben wird das es zu einer AUsgabe kommt wie "Passwort falsch".

    Ich kenne denb test-befehl unter der bash, bekomme es aber nicht hin diese Prüfung zu machen.

    Es heisst so:

    Code
    Das Kommando test liefert die Möglichkeit verschiedenste Bedingungen zu testen. Deren 
    Ergebnis wird als entsprechender Rückgabewert an das Skript zurückgegeben und kann dann 
    ausgewertet werden.
    
    test ausdruck  
    [ ausdruck ]

    Nur wie stelle ich das an? Oder ist der Test Befehl hier falsch gedacht?