Próbuję znaleźć sposób, aby dowiedzieć się, z jakiego pliku i numeru linii została wywołana funkcja. Funkcja znajduje się w pliku biblioteki, który jest pobierany przez mój skrypt.Bash: Znajdź numer wiersza wywołania funkcji z pliku źródłowego
plik1:
$source file2
$warn_me "Error: You didn't do something"
plik2:
$function warn_me() {
$ message=????
$ echo ${message}
$}
Pożądany wyjściowa:$: file1: Linia 2: Błąd: Nie udało zrobić coś
Funkcja Wywołanie jonowe już występuje wiele razy w wielu plikach, więc próbuję znaleźć sposób, aby to zrobić bez zmiany tego.
Wcześniej funkcja warn_me zostało zdefiniowane w każdym pliku, który używany i zostało to załatwione tak:
$local message="$BASH_SOURCE:(""${BASH_LINENO}): ""$*"
Dzięki, skończyło się na wymianie linii z: $ message lokalnej = "$ BASH_SOURCE [1] :(" "$ {BASH_LINENO}): "" $ *" – spizzak