Você pode usar awk para isso:
file=$(declare -F my_bash_func | awk '{print $3}')
Ou use os bash built-ins, leia-os em uma matriz:
func_info=( $(declare -F my_bash_func) )
file=${func_info[2]}
line_number=${func_info[1]}
Mas tenha em atenção que declare -F my_bash_func output não é muito amigável para os analisadores ... Se o ficheiro que contém a função for originado de um caminho relativo, a saída extdebug imprimirá apenas um caminho relativo (mesmo que não esteja Além disso, se o caminho tiver espaços ou caracteres não imprimíveis, eles serão preservados na saída (portanto, "3º campo" talvez não esteja correto ...)