Bash:保持gnome终端打开,获取历史记录并在退出后重新获得控制权

时间:2018-11-15 10:09:38

标签: linux bash tabs gnome-terminal

我编写了一个脚本,该脚本打开一个新的终端(gnome)和一堆选项卡( 40或更少)),应该无限期运行。它可能会崩溃,但确实会崩溃,我想轻松地从同一选项卡重新运行注入的命令。

它看起来像这样:

script='gnome-terminal'
tab='--tab-with-profile=scan'

for (( i = 0; i < len; i+=2 ));
do
    script+=" $tab --title=\"${you[i]}\" -e \"bash -c 'node scan ${you[i+1]}; bash;'\""
done

eval "$script" $>/dev/null \
&& kill -9 $PPID \
|| errorProfile

我在配置文件中设置了“保持停止时打开”选项,但是由于历史记录中未推送命令,因此我无法检索到它。这样的最小复制:

gnome-terminal -e 'bash -c "ls; bash"'

我尝试了一些东西,

gnome-terminal -e 'bash -c "history -s ls; bash"'

gnome-terminal -e 'bash -c ". ~/bashrc; ls; bash"'

但是没有任何效果,-c参数也充斥着我的历史。

我的理解是,在终端中运行bash会创建一个与父终端无关的会话,并且由于我需要使用它来在新创建的终端中运行命令,所以也许这是一个无法解决的问题?

此外:

  • 当配置文件选项“在过程完成后保持打开状态”时,我们可以重新获得对终端的控制吗?
  • 是否可以不使用配置文件选项来管理此操作,而是捕获信号来执行我想要的操作?

0 个答案:

没有答案