d a*_*s y 6 command-line bash gnome-terminal 16.04
我正在使用 Ubuntu 16.04
我想打开多个终端选项卡,运行命令并设置标题。我可以使用此命令打开多个选项卡:
gnome-terminal --tab -e "command1" --tab -e "command2"
Run Code Online (Sandbox Code Playgroud)
但不能使用--title选项,因为它在此版本中不可用。
我知道mate-terminal可以做到这一点,但我想使用 gnome-terminal。
我已经应用了这里发布的解决方案并且它有效但是当我运行时
gnome-terminal --tab -e "bash -c 'set-title 99;ping 192.168.7.99'"
Run Code Online (Sandbox Code Playgroud)
表明:
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
Run Code Online (Sandbox Code Playgroud)
我还在Unix & Linux SE 上应用了这里建议的解决方案
我也读过这篇文章setting-terminal-tab-titles但接受的答案没有解决我在 16.04 os 或 gnome-terminal 版本 3.18.3 中的问题,其他解决方案提供使用其他终端xterm,我想使用 gnome-terminal .
如果要使用存储在其中的函数~/.bashrc,请在命令中使用该文件:
gnome-terminal --tab -e "bash -c 'source ~/.bashrc;set-title 99;ping 192.168.7.99'"
Run Code Online (Sandbox Code Playgroud)
您在评论中提到您计划在 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'" \
Run Code Online (Sandbox Code Playgroud)
这不是 bash 函数,而是printf直接使用和转义序列。请注意反斜杠。