我使用 bash 脚本启动具有多个选项卡的 gnome-terminal,每个选项卡使用不同的配置文件、工作目录,并且在某些情况下在选项卡内执行命令。
在这种情况下,我希望使用向上箭头键来检索在特定选项卡中使用的命令。这可能吗?
答案1
我想你可以为每个配置文件使用一个 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
答案2
只要tty
命令给您提供单独的结果(在任何标准 Unix 环境中它肯定应该如此,尽管我在 cygwin 使用某些终端仿真器时偶尔会出现不当行为),您也可以使用它来分离事物。
我的 中有类似以下内容.bashrc
:
export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`
这看起来可能有点过分,但你明白我的意思。它根据以下因素进行拆分:
- 我在哪台机器上,
- 我是谁,
- 我在哪个终端上。
如果您想到了一些与您相关的事情,您还可以添加更多内容。