Suchen Sie die Zeilennummer des Funktionsaufrufs aus der Sourcing-Datei

Ich versuche herauszufinden, von welcher Datei und Zeilennummer eine Funktion aufgerufen wurde. Die Funktion befindet sich in einer Bibliotheksdatei, die von meinem Skript bezogen wird.

file1:

$source file2
$warn_me "Error: You didn't do something"

file2:

$function warn_me() {
$  message=????
$  echo ${message}
$}

Gewünschte Ausgabe: $: file1: Zeile 2: Fehler: Sie haben nichts getan

Der Funktionsaufruf kommt in vielen Dateien bereits häufig vor, daher versuche ich, einen Weg zu finden, dies zu tun, ohne dies zu ändern.

Zuvor war die warn_me-Funktion in jeder Datei definiert, die sie verwendete, und dies wurde folgendermaßen erledigt:

$local message="$BASH_SOURCE:(""${BASH_LINENO}): ""$*"

Antworten auf die Frage(3)

Ihre Antwort auf die Frage