ABa*_*ach 3 loops zsh function
我对zsh有一个相当奇怪的问题.当我启动我的shell时,一切 - 功能,环境变量,别名等 - 一切正常.我创建了以下函数并在zsh中获取它:
clean()
{
path=/tmp
for i in ${path}/*; do
echo $i
done
}
Run Code Online (Sandbox Code Playgroud)
运行clean
在终端正常工作,因为它打印出的所有文件在/ tmp /.然而,之后,尝试任何命令 - 例如,ls - 产生这样的:
zsh: command not found: ls
Run Code Online (Sandbox Code Playgroud)
我有几个其他功能正常工作,这让我相信,不知何故,该循环导致问题.无论如何,这是非常令人沮丧的,我真诚地感谢社区的眼睛.谢谢!
问题是分配path
变量 - 因为zsh保留了该变量(除了PATH),覆盖它会删除shell查找任何命令的能力.
当然,正确的答案是使用以下变量$path
:
local_path=/tmp
for i in ${local_path}/*; do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8319 次 |
最近记录: |