在 zsh 中临时绕过功能的最短方法是什么?

在 zsh 中临时绕过功能的最短方法是什么?

在我的 .zshrc 中,我定义了一个包装函数,cd如下所示。

function cd(){
  builtin cd "$@" && ls -AFG
}

(改变目录时打印目录内容)

有时我想使用原始方法cd(更改目录而不打印内容)。
虽然builtin cdcommand cd应该有效,但有没有更短的方法来做到这一点?

答案1

为什么不为你的函数使用不同的名称?cdd或者ccd例如。这样你就不需要屏蔽 shell 的cd命令

答案2

您可以zsh使用 unfunction内置命令取消设置该功能。

例子:

$ unfunction cd

答案3

如果您想cd用名为 的函数包装内置命令cd,并且您偶尔想在不调用该函数的情况下更改目录,但交互式输入builtin cd对您来说太繁琐,请定义一个只执行此操作的函数builtin cd。例如,

function pcd(){
  builtin cd "$@"
}

将为您提供“简单”cd命令,您可以通过键入来访问pcd

相关内容