我可以根据我的 cwd 关联我的命令历史记录吗

我可以根据我的 cwd 关联我的命令历史记录吗

我经常在 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'

相关内容