De acordo com man
bash
, bash
identificadores podem consistir em: "somente caracteres alfanuméricos e sublinhados", no entanto, bash
parece ter sido tolerante com isso até shellshock
patch. Na verdade, ainda é, mas agora apenas lança uma mensagem de erro irritante. Admito que tomei uma decisão estúpida quando decidi ter pontos no meu esquema de nomeação de funções, mas tenho mais de 100 funções named.like.this
e para piorar as coisas, dependo dessa estrutura, porque elas estão organizadas em "classes" e chamam uns aos outros com base nesse esquema de nomenclatura. Eu estou procurando uma solução para suprimir essa mensagem de erro em uma escala global, porque é altamente impraticável para alterar todos os nomes de função.
my.function(){ echo hello world;}
export -f my.function
tar --help
/bin/bash: error importing function definition for 'BASH_FUNC_my.function'
Usage: tar -[cxtzjhmvO] [-X FILE] [-T FILE] [-f TARFILE] [-C DIR] [FILE]...
(reclama apenas para funções exportadas, mas a maioria delas precisa ser exportada; a versão bash é 4.2.37)