Anzeige:
Ergebnis 1 bis 3 von 3

Thema: if - elif - elif - else // 2. Anweisung greif immer?!?

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.01.2010
    Beiträge
    21

    if - elif - elif - else // 2. Anweisung greif immer?!?

    Hi,

    habe folgende Funktion bei der die zweite Anweisung immer greift wenn die erste nicht zutrifft. Völlig unverständlich für mich ... finde auch keinen Fehler. Sicher kann mir helfen behilflich sein :-)

    Code:
    check_ftp_details () {
    CURL_ERROR_STATUS=${1}
    DATE=`date "+%Y-%m-%d %H:%M:%S"`
    if [ "${CURL_ERROR_STATUS}" = "7" ]; then
    	echo -e "${DATE};check_ftp_details;${CURL_ERROR_STATUS};Keine Verbindung zum Host;${2};" >> debug.log
    	CURL_ERROR_RESPONSE="1"
    elif [ "${CURL_ERROR_STATUS}" = "67" ]; then
    	echo -e "${DATE};check_ftp_details;${CURL_ERROR_STATUS};Login wurde verweigert;${2};" >> debug.log
    	CURL_ERROR_RESPONSE="1"
    elif [ "${CURL_ERROR_STATUS}" != "0" ]; then
    	echo -e "${DATE};check_ftp_details;${CURL_ERROR_STATUS};Unbekannter Fehler;${2};" >> debug.log
    	CURL_ERROR_RESPONSE="2"
    else
    	CURL_ERROR_RESPONSE="0"
    fi
    export CURL_ERROR_RESPONSE
    }
    Aufruf der Funktion:
    Code:
    check_ftp_details "6" "ftp://user:pass@host:port"
    - Hier greift die Bedingung "elif [ "${CURL_ERROR_STATUS}" = "67" ]; then"

    Code:
    check_ftp_details "234" "ftp://user:pass@host:port"
    - Auch hier greift die Bedingung "elif [ "${CURL_ERROR_STATUS}" = "67" ]; then"

    Code:
    check_ftp_details "0" "ftp://user:pass@host:port"
    - Hier jedoch greift "else CURL_ERROR_RESPONSE="0""

    Alles was nicht 7 oder 0 ist wird von der Bedingung "elif [ "${CURL_ERROR_STATUS}" = "67" ]; then" bearbeitet ... ich versteh es einfach nicht ^^

    Freue mich auf Feedback :-)

    Gruß
    Geändert von tetex (20-06-2011 um 09:27 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.01.2010
    Beiträge
    21
    Kann geschlossen werden. Muss mich diesbezüglich wohl an ein anderes Forum wenden ;-)

  3. #3
    Registrierter Benutzer Avatar von John W
    Registriert seit
    29.01.2010
    Beiträge
    211
    Also verglichen wird mit "==", nicht mit "=", aber auch nur bei Strings, Zahlen werden mit "-eq" auch Gleihheit bzw. mit "-ne" auf Ungleichheit geprüft. Das Beispiel funzt bei mir aber aus unverständlichen Gründen auch so korrekt wie gewünscht…

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •