Encontrar el número de línea de la función de llamada desde el archivo de origen

Estoy tratando de encontrar una manera de averiguar desde qué archivo y número de línea se llamó la función. La función está en un archivo de biblioteca que está siendo obtenido por mi script.

archivo1:

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

archivo2:

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

Salida deseada: $: file1: Line 2: Error: No hiciste algo

La llamada a la función ya ocurre muchas veces en muchos archivos, así que estoy tratando de encontrar una manera de hacerlo sin cambiar eso.

Anteriormente, la función warn_me se definía en cada archivo que la usaba y esto se solucionaba así:

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta