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


18

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

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


恐怕,我认为没有办法从shell中确定配置文件。
风滚草

Answers:


16

我想您可以为每个配置文件使用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

10

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

我的内容如下.bashrc

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

可能看起来有些矫kill过正,但是您明白了。它根据

  1. 我在哪台机器上
  2. 我是谁,以及
  3. 我在哪个终端上。

如果您认为与自己相关的事情,则可以添加更多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.