使用单独的 telnet 会话打开多个 gnome 终端的脚本

使用单独的 telnet 会话打开多个 gnome 终端的脚本

我只是好奇这是否可行。我经常使用 dynagen/qemu(CCIE 培训),并且希望能够运行脚本“x”来为我打开 10 个窗口,所有窗口都通过 telnet 连接到预定义端口。

IE:

新的 gnome-terminal 打开 -> telnet localhost 2001
新的 gnome-terminal 打开 -> telnet localhost 2002
新的 gnome-terminal 打开 -> telnet localhost 2003
新的 gnome-terminal 打开 -> telnet localhost 2004

ETC,

我已经用谷歌搜索了不少资料,但似乎无法找到一个直接的答案。

谢谢您的帮助 :)

编辑:这是现在的收听方式:

root@NiXToP:/home/***# netstat -na |grep 2001
tcp        0      0 0.0.0.0:2001            0.0.0.0:*               LISTEN    
root@NiXToP:/home/***# netstat -na |grep 2002
tcp        0      0 0.0.0.0:2002            0.0.0.0:*               LISTEN 
root@NiXToP:/home/***# netstat -na |grep 2003
tcp        0      0 0.0.0.0:2003            0.0.0.0:*               LISTEN

telnet 目前可以完成以下任务:

# telnet localhost 2001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connected to Dynamips VM "R1" (ID 0, type c3725) - Console port
R1>

答案1

您可以使用-x或者-e选项来运行 gnome-terminal 并执行指定的命令。例如:

gnome-terminal -x telnet miku.acm.uiuc.edu

因此,您的脚本将使用适当的命令执行 gnome-terminal。如果您的端口号是连续的,您可以使用循环执行此操作:

#!/bin/sh
for PORT in $(seq 2001 2010); do
    gnome-terminal -x telnet localhost $PORT &
done

答案2

你试过了吗clusterssh? 它在 Ubuntu 中以 clusterssh 形式提供

答案3

或者使用 xterm:

#!/usr/bin/env bash
for i in {2001..2004};do xterm -e telnet localhost $i &;done

相关内容