【问题标题】:gnome-terminal: How to close the original tab?gnome-terminal:如何关闭原始选项卡?
【发布时间】:2018-03-29 06:23:30
【问题描述】:

刚刚编写了一个脚本,可以在一个窗口中打开 3 个新标签。

tab_init.sh:

#!/bin/bash

# options="--hide-menubar --geometry=140x42"
options=""
options_each=()

# tabs
cmds[1]="cd ~/a; clear"
cmds[2]="cd ~/b; clear"
cmds[3]="cd ~/c; clear"

for i in 1 2 3; do
  options_each+=(--tab -e "bash -c '${cmds[i]} ; bash'" )
done

gnome-terminal $options "${options_each[@]}" &

exit 0

当前结果:

执行脚本后,当前窗口会多开3个标签页,加上原来的标签页,一共是4个标签页。

期望的结果:

但我想要的是在独立窗口中打开新标签,而不包括任何其他标签。

问题是:

  • 如何从脚本中自动关闭原来的选项卡,这样在执行脚本后只有三个选项卡(新的)?
  • 或者,我可以在新窗口中打开这 3 个新标签,而不是在原来的窗口中,这样我是否关闭原来的标签都没关系。

【问题讨论】:

  • 您的脚本按预期运行,它只是在 Centos 7 上打开 3 个窗口。您如何运行脚本
  • @Inian 我猜你的默认终端不是gnome-terminal,在这种情况下,它会启动一个新窗口。但是,如果初始终端是gnome-terminal,它将在原来的窗口中创建新的标签。

标签: linux bash shell gnome gnome-terminal


【解决方案1】:

找到了一种方法来做到这一点。

首先,将脚本软链接到$PATH。 例如在某处将其链接为tab_init

然后,在~/.bashrc 中定义命令快捷方式,以添加额外的行为。

例如

alias tabinit='tab_init; exit' # init tabs, and close original tab,
alias tabinitne='tab_init' # init tabs, and keep the original tab,

现在,可以使用命令tabinittabinitne 来选择所需的行为。

【讨论】:

    猜你喜欢
    • 2013-10-29
    • 2019-04-01
    • 2013-07-26
    • 2011-01-01
    • 2013-09-21
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    相关资源
    最近更新 更多