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

时间:2016-10-21 08:30:17

标签: linux shell ssh terminal gnome-terminal

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

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

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

2 个答案:

答案 0 :(得分:0)

使用ansiblefabric或任何其他自动化工具来执行您想要的操作。这个工具允许以简单的方式同时通过ssh在多台机器上执行相同的命令。

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

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

示例

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

答案 1 :(得分:0)

您需要使用SSH才能执行远程命令,如下所示:

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

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