我最初以为这将是一件非常简单的事情:
编写一个脚本,打开几个新的 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
没有提到这样的选择。)