使用 bash 脚本设置 gnome-terminal 中每个终端选项卡的标题

使用 bash 脚本设置 gnome-terminal 中每个终端选项卡的标题

我正在使用 Ubuntu 16.04

我想打开多个终端选项卡,运行命令并设置标题。我可以使用此命令打开多个选项卡:

gnome-terminal --tab -e "command1" --tab -e "command2"

但无法使用--title选项,因为它在此版本中不可用。

我知道mate-terminal可以做到这一点,但我想使用 gnome-terminal。

我已经应用了发布的解决方案这里它起作用了,但是当我运行

gnome-terminal --tab -e "bash -c 'set-title 99;ping 192.168.7.99'"

表明:

bash: set-title: command not found
PING 192.168.7.99 (192.168.7.99) 56(84) bytes of data.
64 bytes from 192.168.7.99: icmp_seq=1 ttl=128 time=0.425 ms
64 bytes from 192.168.7.99: icmp_seq=2 ttl=128 time=0.353 ms
64 bytes from 192.168.7.99: icmp_seq=3 ttl=128 time=0.335 ms

我也申请了这里建议的针对 Unix 和 Linux SE 的解决方案

我也读过这篇文章设置终端选项卡标题但是接受的答案并没有解决我在 16.04 操作系统或 gnome-terminal 版本 3.18.3 中的问题并且其他解决方案提供了使用其他终端,xterm而我想使用 gnome-terminal。

答案1

如果您想要使用存储在中的函数,~/.bashrc则在命令中获取该文件:

gnome-terminal --tab -e "bash -c 'source ~/.bashrc;set-title 99;ping 192.168.7.99'"

您在评论中提到您计划在 shell 脚本中使用它,并使用多个gnome-terminal选项卡。作为概念验证,您可以使用以下脚本作为示例:

#!/bin/bash
gnome-terminal --tab -e "bash -c 'printf \"\033]0;TEST1\007\"; sleep 7'" \
               --tab -e "bash -c 'printf \"\033]0;TEST2\007\"; ping -c 4 8.8.8.8'" \

这不是 bash 函数,而是printf直接使用转义序列。请注意反斜杠。

相关内容