Em bash , use o array FUNCNAME :
tt() {
printf '%s\n' "$FUNCNAME"
}
Com algumas implementações ksh :
tt() { printf '%s\n' "$0"; }
Em ksh93 :
tt() { printf '%s\n' "${.sh.fun}"; }
De ksh93d e acima, você também pode usar a função $0 inside para obter o nome da função, mas deve definir a função usando function name { ...; } form.
Em zsh , você pode usar funcstack array:
tt() { print -rl -- $funcstack[1]; }
ou $0 dentro da função.
Em fish :
function tt
printf '%s\n' "$_"
end