Znajdź numer linii wywołania funkcji z pliku źródłowego
Próbuję znaleźć sposób, aby dowiedzieć się, z którego pliku i numeru linii została wywołana funkcja. Funkcja znajduje się w pliku biblioteki, który pochodzi z mojego skryptu.
plik1:
$source file2
$warn_me "Error: You didn't do something"
plik2:
$function warn_me() {
$ message=????
$ echo ${message}
$}
Pożądane wyjście: $: file1: Linia 2: Błąd: Nie zrobiłeś czegoś
Wywołanie funkcji występuje już wiele razy w wielu plikach, więc próbuję znaleźć sposób, aby to zrobić bez zmiany tego.
Poprzednio funkcja warn_me była zdefiniowana w każdym pliku, który jej używał, i zajęto się tym w następujący sposób:
$local message="$BASH_SOURCE:(""${BASH_LINENO}): ""$*"