根据man
bash
,bash
标识符可能由“仅字母数字字符和下划线”组成,但是,bash
似乎在shellshock
补丁之前对此一直很宽容。实际上,它现在仍然是,但现在它只会抛出一个烦人的错误消息。我承认,当我决定在函数命名方案中使用点时,我做出了一个愚蠢的决定,但我有 100 多个函数,named.like.this
更糟糕的是,我依赖于该结构,因为它们被组织在“类”中,并根据该命名方案相互调用。我正在寻找一种解决方案来在全球范围内抑制此错误消息,因为更改所有函数名称是非常不切实际的。
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]...
(它仅对导出的函数提出抱怨,但大多数函数都需要导出;bash 版本是 4.2.37)