我正在使用GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)
。
我的一个启动文件中有以下几行:
df() { printf "Hello, world!\n" }
当获得该文件的源时,出现此错误:
-bash: sh/interactive.sh: line 109: syntax error near unexpected token `(' -bash: sh/interactive.sh: line 109: `df() {'
但是,如果我将功能名称从
df
更改为dir
或ef
或anything_else
,则不会出现错误。
我假设df
在某种程度上是保留字,但是当我检查此list of reserved words in bash时,找不到它。 (而且我认为它不应该成为一个!)
所以,有人能对此有所启发吗?为什么bash禁止我定义名为df
的shell函数?
我正在使用GNU bash,版本4.4.12(1)-发行版(x86_64-pc-linux-gnu)。我的一个启动文件中包含以下几行:df(){printf“ Hello,world!\ n”}当获取该文件的源代码时,我得到...
之所以这样,是因为您之前已经为此名称定义了别名。别名是简单的字符串前缀替换,因此会干扰函数定义: