bash: caractere ilegal em uma variável de ambiente

0

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)

    
por Ulrik 06.05.2016 / 21:21

0 respostas