我经常在 bash 会话中在多个目录之间导航。有时最多 4 个。对于我所在的每个目录,我通常都有一组专门的命令,这组命令可能有 7 到 10 个。我想知道是否可以在我的 bash 命令历史记录和触发这些命令的 cwd 之间建立关联。欢迎提出任何建议。
答案1
对和使用以下重新定义,cd
并将这些行放入.bashrc
:
HISTFILE=$HOME/.bash_history.`echo $PWD|sed -e 's/\//_/g'`
cd () {
history -a
command cd "$@"
HISTFILE=$HOME/.bash_history.`echo $PWD|sed -e 's/\//_/g'`
history -c
history -r
}
答案2
您可以使用PROMPT_COMMAND
来检查$PWD
并采取适当的措施,如下所示:
PROMPT_COMMAND='if [[ $PWD =~ /usr/share ]]; then echo take action in /usr/share; fi'