Sto cercando un modo per scoprire da quale file e numero di riga è stata chiamata una funzione. La funzione si trova in un file di libreria che viene acquisito dal mio script.Bash: Trova il numero di linea della chiamata di funzione dal file di sourcing
file1:
$source file2
$warn_me "Error: You didn't do something"
file2:
$function warn_me() {
$ message=????
$ echo ${message}
$}
output desiderato:$: file1: Linea 2: Errore: non hai fatto qualcosa
Il funct la chiamata di ioni già avviene molte volte in molti file, quindi sto cercando di trovare un modo per farlo senza cambiarlo.
In precedenza la funzione warn_me è stato definito in ogni file che ha utilizzato e questo era preso cura di in questo modo:
$local message="$BASH_SOURCE:(""${BASH_LINENO}): ""$*"
Grazie, ho finito per sostituire la linea con: $ messaggio locale = "$ BASH_SOURCE [1] :(" "$ {BASH_LINENO}):" "$ *" – spizzak