Anzeige:
Ergebnis 1 bis 2 von 2

Thema: bash: Return-Anweisung bei Funktionen

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.12.2004
    Beiträge
    15

    bash: Return-Anweisung bei Funktionen

    Hallo,
    ich habe hier eine Funktion von Advanced Bash-Scripting Guide kopiert. Allerdings bekomme ich bei den Return-Anweisungen einen Fehler, obwohl sie korrekt ausgeführt werden.

    Code:
    SUCCESS=0
    FAILURE=-1
    
    isdigit ()    # Tests whether *entire string* is numerical.
    {             # In other words, tests for integer variable.
      [ $# -eq 1 ] || return $FAILURE
    
      case $1 in
        *[!0-9]*|"") return $FAILURE;;
                  *) return $SUCCESS;;
      esac
    }
    Die Abfrage erfolgt auf diese Weise:

    Code:
    if ! isdigit "$@" ; then
    	echo "Bitte rufen Sie das Programm auf folgende Weisen auf:"
    	echo "./work.sh #AnzahlAufrufe #Sekunden #Millisekunden"
    	exit
    fi
    Wird nun z. B. in return $FAILURE reingesprungen, dann bekomme ich folgende Fehlermeldung:

    Code:
    ./work.sh u z h
    ./work.sh: line 8: return: -1: invalid option
    return: usage: return [n]
    ./work.sh: line 11: return: -1: invalid option
    return: usage: return [n]
    Bitte rufen Sie das Programm auf folgende Weisen auf:
    ./work.sh #AnzahlAufrufe #Sekunden #Millisekunden
    Weiß vielleicht jemand weiter?

    Danke im Voraus!

    L. G.
    Reality

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Dieser Code ist ab Bash Version >= 4.0 veraltet!
    Es gibt jetzt keinen Negative Exit Code.
    Gültige Werte sind 0-255
    Exit from a `for', `while', `until', or `select' loop etc.
    If N is supplied, the Nth enclosing loop is exited.
    N must be greater than or equal to 1.
    The return status is zero unless N is not greater than or equal to 1.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

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