将 BASHPID 添加到历史记录中?

mik*_*kes 5 bash command-history

我经常在任何给定时间运行多个会话。在尝试使用历史重建工作时,这有时会导致问题。因此,我认为以某种方式包含 $BASHPID 会很有用,这样我就可以按 shell 和时间排序。我在这方面的天真尝试是尝试

export HISTTIMEFORMAT="$BASHPID %Y %m %d - %H:%M:%S| "
Run Code Online (Sandbox Code Playgroud)

但这一切只是将当前 shell 的 $BASHPID 添加到“history”的输出中。

对 HISTTIMEFORMAT 和 $BASHPID 的搜索没有返回任何结果。关于如何获得这种行为的任何建议?

小智 4

你需要像“bash永恒的历史”之类的东西。这里
有一个很好的描述来让它工作。

该解决方案仍然缺少 PID,可以使用此处的想法添加 PID 。

主要是:

export HISTTIMEFORMAT="%s "
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND ; }"' \
               echo $$ $USER "$(history 1)" >> ~/.bash_eternal_history'
Run Code Online (Sandbox Code Playgroud)

这是使用$PROMPT_COMMAND来生成:

$PID $USER $LAST_COMMAND
Run Code Online (Sandbox Code Playgroud)

每个执行命令的输出。