从脚本打开一个新的 gnome 终端,没有奇怪的副作用

从脚本打开一个新的 gnome 终端,没有奇怪的副作用

我最初以为这将是一件非常简单的事情:

编写一个脚本,打开几个新的 gnome-terminal 窗口,在每个窗口中运行一个命令,并保持它们打开。自动执行 CTRL+ALT+T 几次,并在每个打开的窗口中运行一个命令。

但是,看看这里很多答案(例如),似乎我缺少一个简单的答案,或者它根本不存在。

使用推荐

gnome-terminal
及其变体,例如
gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"

确实会打开一个新的终端窗口,但它是一个子 shell,并且 .bashrc 会第二次执行。因此,一些导出命令和其他命令会失败或创建重复的变量。(例如,export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"在 .bashrc 中,新终端现在在 $PROMPT_COMMAND 中有“history -a; history -a;”)。

此外,该命令gnome-terminal似乎还继承了工作目录,以及启动它的 shell 的一些(但不是全部)变量。

那么有没有办法从命令行启动一个全新的(即与我按下 CTRL+ALT+T 完全相同的状态)gnome-terminal 实例?

man gnome-terminal并且gnome-terminal --help-all没有提到这样的选择。)

相关内容