Springe zum Hauptinhalt

Bourne
next up previous contents
Next: Spezielle Probleme und Kommandos Up: Ablaufsteuerung Previous: exit-Kommando

Funktionen

  • Definition

    func_name () {     cmd_liste }


    bzw.


    func_name () { cmd_liste; }


  • Aufruf


    func_name [[ arg_1 [ arg_2 ... ]]


    Die Werte von $arg\_1$, $arg\_2$ usw. werden den Shell-Variablen 1, 2 usw. zugewiesen und können damit über $1, $2, usw.  abgerufen werden.

  • Rückkehr aus der Funktion
    • bei Erreichen des letzten Kommandos
    • über das Kommando

          return [ n]


      Dabei liefert n den Exit-Status der Funktion. Falls n weggelassen wird, ergibt sich der Exit-Status der Funktion aus dem Exit-Status des zuletzt ausgeführten Kommandos.

  • Bemerkungen
    • Funktionen existieren nur in der Shell, in der sie definiert wurden. Demzufolge bleiben Veränderungen (z.B. durch Argumentübergabe an die Funktion, d.h. Setzen der Variablen 1 usw. nach Beendigung der Funktion erhalten.
    • Funktionsdefinitionen können in .profile gespeichert werden bzw. in einen File $funcdef\_file$, welches später (oder in .profile) durch

          . funcdef_file


      ausgeführt wird. Auf diese Weise können Funktionen auch in Sub-Shells verfügbar gemacht werden (z.B. in einen Shell-Script).

    • Der Aufruf von Funktionen ist (interaktiv) am Terminal möglich.
    • Funktionen sind schneller als Shell-Scripts, da sie intern gespeichert werden.
  • Beispiel
    #
    # mcd <verzeichnis>  --> Wechseln in <verzeichnis>
    #
    # mcd -              --> ins vorherige Verzeichnis
    # 
    mcd ()
    {
        AKTDIR=`pwd`
        if [ "$1" = "-" ]
        then
            /bin/echo -n $ALTDIR --
            cd $ALTDIR;
        else
            /bin/echo -n $1 --
            cd "$1";
        fi
        ALTDIR=$AKTDIR
    }
    
    

next up previous contents
Next: Spezielle Probleme und Kommandos Up: Ablaufsteuerung Previous: exit-Kommando
  • Ki generiertes Bild

    Offen für Argumente geht in die zweite Runde

    Online-Debattenformat der Juniorprofessur Soziologie der TU Chemnitz thematisiert am 10. September 2025 die Rolle der Solarenergie im Zuge der Energiewende …

  • Gruppe vieler Menschen

    Let's run #TUCgether!

    Zum Jubiläum des Chemnitzer Firmenlaufs gingen 266 Laufbegeisterte für die TU Chemnitz an den Start …

  • Menschen stehen vor einer Leinwand

    Erfolgreiche Summer School an der TU Chemnitz

    Professur Medienpsychologie und die Hochschulallianz Across begrüßten zur Summer School „How much science is in science fiction?“ medienbegeisterte Nachwuchswissenschaftlerinnen und -wissenschaftler aus neun verschiedenen Ländern …

  • Menschen stehen vor einem Haus

    Als Azubi an die Uni? Ja, klar!

    Kanzler der TU Chemnitz begrüßte neue Auszubildende und gratulierte Absolventinnen und Absolventen zum erfolgreichen Berufsabschluss – TU Chemnitz bildet aktuell in zehn Berufen aus …