Ich versuche einen Weg zu finden, um herauszufinden, aus welcher Datei- und Zeilennummer eine Funktion aufgerufen wurde. Die Funktion befindet sich in einer Bibliotheksdatei, die von meinem Skript bezogen wird.Bash: Finde die Nummer des Funktionsaufrufs aus der Sourcing-Datei
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 nicht etwas
Die Funktion In vielen Dateien tritt der Ionenaufruf bereits viele Male auf, also versuche ich, einen Weg zu finden, dies zu ändern, ohne das zu ändern.
Bisher wurde die warn_me Funktion in jeder Datei definiert, die es verwendet, und dies wurde wie so gesorgt:
$local message="$BASH_SOURCE:(""${BASH_LINENO}): ""$*"
Danke, ich ersetzte die Zeile mit: $ local message = "$ BASH_SOURCE [1] :(" "$ {BASH_LINENO}):" "$ *" – spizzak