zsh 中奇怪的函数声明(或者是?)

Weird function declaration (or is it?) in zsh

我试图通过在 zsh 中创建文件名来查找某些文件(尽管我多次阅读联机帮助页我没有真的现在我在做什么),但我认为有些事情发生了大错特错:

在我输入 echo 10-02-2015.*() 后,系统提示我输入一些东西 — zsh 输出 function>。我随机输入 n,然后按回车。

但在那之后,我执行的每个命令都会附加“echo:16: command not found: n”,这似乎是我用一个空函数名定义了一个函数,但我不明白这有什么意义。

考虑到这一点:这里到底发生了什么,我该如何恢复?

快速浏览 zsh 似乎表明 echo:16: command not found: n 的第一位是失败的命令(数字是会话的提示号或其他什么?)。

因此,无论您做什么,似乎都将 echo 重新定义为 shell 试图调用 n 的函数(这显然不存在)。

我怀疑 type -f echo 会证实这一点,并且 echo "foo" 目前无法正常工作。

您应该能够简单地启动一个新的 zsh 会话来 "fix" 问题。

或者,unset -f echo 似乎也有效。