Si tengo un script Bash como:
#!/bin/bash
f() {
# echo function name, "f" in this case
}
¿Hay alguna forma de hacer esto? Esto podría usarse en mensajes de ayuda como
printf "Usage: %s: blah blah blah \n" $(basename $0) >&2;
Solo en este caso lo que quería no es $0, que es el nombre del archivo de la secuencia de comandos.

FUNCNAMEmatriz y otras variables de Bash: github.com/codeforester/base/blob/master/lib/stdlib.sh . Ver funcioneslog_debug_enterylog_debug_leaveen particular.Respuestas:
Se puede utilizar
${FUNCNAME[0]}enbashconseguir el nombre de la función.fuente
Del Manual de referencia de Bash :
Cuando se accede a las matrices bash sin un índice, se devolverá el primer elemento de la matriz, por
$FUNCNAMElo que funcionará en casos simples para proporcionar el nombre de la función inmediatamente actual, pero también contiene todas las demás funciones en la pila de llamadas. Por ejemplo:Saldrá:
fuente
[0]si está implícito al acceder a la variable no decorada?Yo uso
${FUNCNAME[0]}para imprimir el nombre de la función actualfuente
Otro ejemplo:
Saldrá:
fuente
La forma más simple de obtener el nombre de la función (desde dentro de una función)
fuente
###de tus respuestas.