空格文字作为bash中的函数名

这个问题与我以前的一个问题松散相关。 TL;来自muru的答案的 DR是函数名中的字符必须是可移植字符集才能对函数名有效。 问题是列表上有空格( 字符),这就是为什么我不知道为什么我不能这样做的原因:

 $ $' '(){ echo "Hullo";} bash: `' '': not a valid identifier $ hello$' 'world(){ echo "hi";} bash: `hello' 'world': not a valid identifier 

使用其他shell:

 $ mksh -c '\ (){ echo "Hello";} ' mksh: : invalid function name $ ksh -c '\ (){ echo "Hello";} ' ksh: : invalid function name $ dash -c '\ (){ echo "Hello";} ' dash: 1: Syntax error: Bad function name 

让我强调相关部分:

单词由便携式字符集中的下划线,数字和字母组成

不允许使用便携式字符集中的其他字符。 便携式字符集中的字符是必要但充分的条件 。