在终端的所有打开的选项卡中执行一个命令

execute one command in all open tabs in a terminal

我使用一个脚本,该脚本在执行后会打开不同的选项卡并连接到不同的服务器(使用 ssh)。现在,我想 运行 另一个命令(比如 'pwd')。那么该怎么做呢?

gnome-terminal --tab -e 'ssh user@ip1' --tab -e 'ssh user@ip2'

这会打开 2 个选项卡并在每个选项卡中连接到相应的 ip.After ssh 我想 运行 另一个命令,这样就会有两个选项卡,连接到 ip 后它会 运行 指定命令

使用 ansible, fabric 或任何此类自动化工具来完成您想要的操作。该工具允许以简单的方式同时在多台机器上通过 ssh 执行相同的命令。

使用ansible你只需要做这样的事情

    ansible <your-list-of machine> -m shell -a "your command"

示例

    ansible ip1 -m shell -a "echo $TERM"

你需要使用SSH能力来执行远程命令,像这样:

gnome-terminal --tab -e "ssh -A -t user@ipbridge \"ssh -t user@ip1 'pwd; /bin/bash -i'\"" 

注意命令后的/bin/bash -i。这是必需的,否则 ssh 将在命令后退出。