Você pode usar o nop incorporado em :
. Além disso, você não precisa armazená-lo como uma variável:
function f() {
: your metadata here
: "or here"
# do yours
}
EDITAR : Cuidado com caracteres especiais em seus metadados. Para texto puro, você pode usar:
: <<EOT
Your metadata text here.
EOT
EDIT : você pode usar uma matriz associativa global para armazenar todos os metadados da função:
declare -A METADATA=()
METADATA[fun1]='foo bar'
function fun1() {
echo I have some metadata: "${METADATA[$FUNCNAME]}"
}
METADATA[fun2]='baz you'
function fun2() {
echo I have some other metadata: "${METADATA[$FUNCNAME]}"
}
Dessa forma, não é necessário analisar a saída de declare
ou type
, mas apenas consultar a chave de uma matriz.