cd进入目录时显示自定义消息

时间:2013-02-04 17:12:35

标签: unix rvm rvmrc

我正在寻找一种在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,则当我进入该文件夹时会显示该文件的内容。

这样可行,但是当你进入目录时,它似乎会杀死其他做事的脚本。具体来说,它会破坏Ruby RVM使用.rvmrc在cd进入目录时切换ruby版本的能力。

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

1 个答案:

答案 0 :(得分:2)

RVM有大多数命令的钩子,你可以创建一个:

hook="$rvm_path/hooks/after_cd_reminder"
echo "[ ! -f .cd-reminder ] || cat .cd-reminder 1>&2" > "$hook"
chmod +x "$hook"