2

我正在寻找一种在 cd 进入目录时显示自定义消息的方法。例如

$ cd some_folder
Warning: Don't edit these files!
some_folder $

从一篇旧帖子中,我发现了将其添加到我的 .bashrc 文件的建议:

reminder_cd() {
  builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

使用此脚本,如果我的文件夹中有 .reminder_cd 文件,则当我 cd 进入该文件时会显示该文件的内容。

那行得通,但是当您 cd 进入目录时,它似乎会杀死其他执行操作的脚本。具体来说,当您 cd 进入目录时,它会破坏 Ruby RVM 使用 .rvmrc 切换 ruby​​ 版本的能力。

有没有办法修改上面的函数(或使用完全不同的技术),以便它不会清除输入文件夹时使用的任何现有脚本?

4

1 回答 1

2

RVM 对大多数命令都有挂钩,您可以创建一个:

hook="$rvm_path/hooks/after_cd_reminder"
echo "[ ! -f .cd-reminder ] || cat .cd-reminder 1>&2" > "$hook"
chmod +x "$hook"
于 2013-02-04T23:52:23.317 回答