退出然后重新启动可以从 gnome-terminal 执行的 gnome-terminal 命令?

1 gnome command-line gnome-terminal restart execute-command

我想知道是否可以gnome-terminal从自身重新启动?我的意思是,是否有一个命令可以用来告诉我gnome-terminal关闭然后立即重新启动?我试过运行:

exit && gnome-terminal
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它退出后无法自行启动,所以我想知道是否有另一个命令可以关闭它但也指示另一个程序然后立即再次打开它?


操作系统信息:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily
Flavour: GNOME
GNOME Version: 3.18
Run Code Online (Sandbox Code Playgroud)

包装信息:

gnome-terminal:
  Installed: 3.18.2-1ubuntu2~wily1
  Candidate: 3.18.2-1ubuntu2~wily1
  Version table:
 *** 3.18.2-1ubuntu2~wily1 0
        500 http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu/ wily/main amd64 Packages
        100 /var/lib/dpkg/status
     3.16.2-1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)

hee*_*ayl 6

trap伪信号EXIT

trap 'gnome-terminal' EXIT
Run Code Online (Sandbox Code Playgroud)

现在,每次运行时,shell 都会打开exit一个新实例,gnome-terminal并且 shell 的现有会话将终止。


正如@Byte Commander 指出的那样,如果你这样做exit(就像你正在做的那样)或按Ctrl+D退出外壳,上面的将创建一个gnome-terminal与之前的具有相同 PID的窗口(尽管外壳会得到不同的 PID),此行为是设计使然。因此,要终止当前gnome-terminal进程并启动一个新进程,您可以执行以下操作:

trap 'kill $(ps -o ppid= $$) && gnome-terminal' EXIT
Run Code Online (Sandbox Code Playgroud)