【发布时间】:2012-04-18 16:55:28
【问题描述】:
我在使用 zsh 时遇到了一个相当奇怪的问题。当我启动我的 shell 时,一切——函数、环境变量、别名等——都可以正常工作。我创建了以下函数并在 zsh 中获取它:
clean()
{
path=/tmp
for i in ${path}/*; do
echo $i
done
}
在终端中运行clean 按预期工作,因为它会打印出 /tmp/ 中的所有文件。然而,之后,尝试 any 命令 - 例如,ls - 会产生以下结果:
zsh: command not found: ls
我还有其他几个可以正常工作的函数,这让我相信不知何故,这个循环导致了问题。无论如何,这非常令人沮丧,我真诚地感谢社区的眼睛。谢谢!
【问题讨论】:
-
这个脚本不打印任何东西,它只是创建一个函数。请告诉您重现错误所采取的具体步骤。
-
创建函数后,我在zsh中简单运行
clean。我会更新帖子以使其更清晰。 -
在运行之前是否为您的环境中的其他任何内容添加了别名?
-
qor - 没有。即使我将函数的名称更改为“foobar123”,我仍然会遇到同样的问题。
-
无法重现 - 完全符合我的预期。这一定是您环境中其他地方的问题。