gpt4 book ai didi

bash - Bash 中是否有一个钩子(Hook)可以查明 cwd 何时更改?

转载 作者:行者123 更新时间:2023-11-29 08:46:34 24 4
gpt4 key购买 nike

我通常使用 zsh,它提供了 chpwd() 钩子(Hook)。即:如果 cwd 被内置的 cd 更改,zsh 会自动调用 chpwd() 方法(如果它存在)。这允许设置依赖于 cwd 的变量和别名。

现在我想将我的 .zshrc 的这一点移植到 bash,但发现 bash 无法识别 chpwd()。 bash 中是否已经存在类似的功能?我知道重新定义 cd 是可行的(见下文),但我的目标是找到一个更优雅的解决方案。

function cd()
{
builtin cd $@
chpwd
}

最佳答案

您必须使用 DEBUG trapPROMPT_COMMAND

例子:

trap chpwd DEBUG        # calls the function before each command

PROMPT_COMMAND=chpwd # calls the function after each command

请注意,PROMPT_COMMAND 中定义的函数会在每个 提示符之前运行,即使是空提示符也是如此。

关于bash - Bash 中是否有一个钩子(Hook)可以查明 cwd 何时更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3276247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com