我可以为每个终端配置文件创建单独的bash历史记录文件吗?

我使用bash脚本启动带有多个选项卡的gnome-terminal,每个选项卡使用不同的配置文件,工作目录,并且在某些情况下在选项卡中执行命令。

在这种情况下,我希望使用向上箭头键来检索特定选项卡中使用的命令。 这可能吗?

我想你可以为每个配置文件使用gnome-terminal自定义命令

bash -c 'PROFILE=default_profile exec bash' 

要么

 bash -c 'PROFILE=screen_profile exec screen -U' 

或类似的。

然后在~/.bashrc

 if [[ -n $PROFILE ]]; then HISTFILE=~/.bash_history."$PROFILE" fi 

只要tty命令为您提供单独的结果(在任何标准的Unix环境中它当然应该存在,尽管我在cygwin中偶尔会遇到某些终端模拟器的错误行为),您也可以使用它来分隔事物。

我的.bashrc有以下内容:

 export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-` 

这看起来有点矫枉过正,但你明白了。 它基于分裂出来

  1. 我在用什么机器,
  2. 我是谁,也是
  3. 我在哪个终端。

如果你想到与你相关的事情,你可以添加更多。