eine Liste von Funktionsnamen in einem Shell-Skript abrufen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie liste ich die in meiner Shell definierten Funktionen auf? 6 answers

Ich habe ein Bourne-Shell-Skript mit mehreren Funktionen und kann folgendermaßen aufgerufen werden:

my.sh <func_name> <param1> <param2>

Inside func_name () wird mit param1 und param2 aufgerufen.

Ich möchte eine "Hilfe" -Funktion erstellen, die auch ohne Parameter alle verfügbaren Funktionen auflistet.

Die Frage: Wie erhalte ich eine Liste aller Funktionsnamen in einem Skript aus dem Skript heraus?

Ich möchte es vermeiden, es analysieren und nach Funktionsmustern suchen zu müssen. Es ist zu einfach, sich zu irren.

anke, Al

update: der Code. Wollte, dass meine help () -Funktion wie main () ist - eine dem Code hinzugefügte Funktion wird der Hilfe automatisch hinzugefügt.

#!/bin/sh

# must work with "set -e"

foo ()
{
    echo foo: -$1-$2-$3-
    return 0
}

# only runs if there are parameters
# exits
main ()
{
    local cmd="$1"
    shift
    local rc=0
    $cmd "$@" || rc=$?
    exit $rc
}

if [[ "$*" ]]
then
    main "$@"
    die "how did we get here?"
fi

Antworten auf die Frage(4)

Ihre Antwort auf die Frage