目录的默认 zsh 别名?

default zsh alias for dir?

在 Linux 主机系统上,默认的 zsh 安装提供 'dir' 的别名。是'ls -l'.

我找不到负责设置这个别名的系统启动文件。

/etc/zsh/* 文件没有任何相关内容。

我发现默认别名的方法是在我的 .zshrc 中定义了一个 zsh shell 函数,如下所示:

dir () { ls ... |少...}

现在,使用默认别名,这导致 ls 被定义为 ls 并且循环引用完全阻止了 ls 的使用。

我通过在定义 dir() 之前添加 'unalias dir' 来解决这个问题。

但是,我仍然很沮丧,希望找到为 dir 创建的别名的来源。

你能帮忙吗?

感谢用户 1934428!使用 zsh -lx 我找到了罪魁祸首。

/etc/zprofile 来源 /etc/profile 来源 /etc/bash.bashrc 来源 /etc/profile.d/ls.bash ,它有别名定义。

我认为 zsh shell 函数定义应该忽略函数名上的别名;那几乎永远不可能是正确的事情...