从 shell 脚本生成交互式 telnet 会话

2024-03-12

我正在尝试编写一个脚本来允许我登录到控制台服务器的 48 个端口,以便我可以快速确定哪些设备连接到每条串行线路。

本质上,我希望能够有一个脚本,给定主机/端口列表,远程登录到列表中的第一个设备,并使我处于交互模式,以便我可以登录并确认设备,然后当我关闭telnet 会话,连接到列表中的下一个会话。

我面临的问题是,如果我从可执行 bash 脚本中启动 telnet 会话,会话会立即终止,而不是等待输入。

例如,给出以下代码:

$ cat ./telnetTest.sh
#!/bin/bash

while read line
do
        telnet $line
done
$

当我运行命令 'echo "hostname" | testscript.sh' 我收到以下输出:

$ echo "testhost" | ./telnetTest.sh
Trying 192.168.1.1...
Connected to testhost (192.168.1.1).
Escape character is '^]'.
Connection closed by foreign host.
$

有谁知道如何阻止 telnet 会话自动关闭?


您需要将终端输入重定向到telnet过程。这应该是/dev/tty。所以你的脚本看起来像这样:

#!/bin/bash

for HOST in `cat`
do
  echo Connecting to $HOST...
  telnet $HOST </dev/tty
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 shell 脚本生成交互式 telnet 会话 的相关文章

  • 如何摆脱每个新终端会话上运行的某些内容?

    我正在使用狮子 我在每个新的终端会话上都会输出一个错误 bash rvm add to path command not found 这是一个几乎全新的用户帐户 RVM 安装在计算机上的另一个帐户上 bashrc 和 bash profil
  • envsubst 不能进行就地替换吗?

    我有一个配置文件 其中包含一些 ENV VARIABLE 样式的变量 This is my file It might contain EXAMPLES of text 现在我希望将该变量替换为保存在实际环境变量中的值 所以我正在尝试这个
  • Bash 中的 Shellshock 漏洞背后的行为是有记录的还是有意为之?

    最近的一个漏洞 CVE 2014 6271 http web nvd nist gov view vuln detail vulnId CVE 2014 6271 如何Bash http en wikipedia org wiki Bash
  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • 参考当前命令的先前参数

    例如 我想执行以下操作 mv xxxx xxxx bak 我知道我可以使用这个命令 mv xxxx bak 我认为这在某种程度上并不直接 如果我能做到这一点那就太好了 mv xxxx 1 bak 有时我需要这样 echo xxxx yyyy
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • java.net.ServerSocket.accept () 在 Android 上不返回

    我正在尝试找到一种方法来远程登录到未root的机器人 我有INTERNET权限处于活动状态 我的设备与我的设备连接在同一网络上Mac OS X通过 WiFi 我可以 ping 通我打开的端口 在最初的实验中 我让它在有根测试设备上工作 但我
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 如何使用 bash 脚本关闭所有终端,在每个终端中有效地按 Ctrl+Shift+Q

    我经常打开许多终端 其中一些正在运行重要的进程 例如服务器 而另一些则没有运行任何东西并且可以关闭 如果您按 重要 则会弹出确认提示Cntrl Shift Q在其中 如下所示 我想要一个 bash 脚本 它可以关闭所有终端 但将 重要 终端
  • 具有非阻塞读取功能的 Bash 脚本

    我想使用命名管道将一些数据发送到根进程 这是脚本 效果很好 bin sh pipe tmp ntp if p pipe then mknod m 666 pipe p fi while true do if read line lt pip
  • ANSI 转义码在行尾有奇怪的行为

    重现步骤 考虑以下 shell 命令 echo e e 41mTest nTest2 e 0mTest3 它打印Test并在下一行中Test2具有红色背景 使用 ANSI 转义码 Test2后面直接是Test3这是无色的 行为 第一次执行此
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • bash 函数保留制表符补全

    我把函数 make color make 1 ccze A in bashrc获得彩色的 make 输出 他的作品很好 但是make用于选择目标的制表符补全功能丢失 有什么方法可以保留函数中命令的制表符完成 或者我可以做其他事情来实现制表符
  • `docker run` 输出到 bash 变量 - 奇怪的行为

    我看到一些奇怪的行为从docker run到 bash 变量中 简单的例子 bin bash PWD docker run rm ti ubuntu pwd 2 gt 1 also tried with PWD docker run wit
  • execlp 多个“程序”

    我想运行类似的东西 cat file tar base64 myprogram c base64 d tar zvt I use execlp运行该进程 当我尝试运行类似的东西时cat它有效 但如果我尝试运行base64 d tar zvt
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 如何在bash中列出所有后台pid

    要么我无法正确表达我的搜索 要么答案不容易找到 但我正在尝试找出如何列出我的所有后台任务 PID 例如 到目前为止 我发现要列出我们使用的最后一个 PID 但现在我想列出之前任务的 PID 如果存在 但我找不到如何做到这一点 最终我想列出我
  • 如何在 bash 中结合超时和 eval 命令

    为了执行存储在变量中的命令eval使用命令 gt a echo e a nb wc l gt eval a 2 但如何才能与它结合起来呢 timeout命令 我尝试过以下操作 这给了我错误的输出 gt timeout 10 a a b wc
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 如何显示 zsh 函数定义(如 bash“type myfunc”)?

    如何在 zsh 中显示函数的定义 type foo没有给出定义 在bash中 bash function foo echo hello bash foo hello bash type foo foo is a function foo e

随机推荐

  • 如何获取当前 UINavigationController 的引用?

    在 Objective C 中 获取当前 UINavigationController 引用的最佳方法是什么 我想从任何可能没有引用 UIController 委托或其他任何内容的类访问它 是否有现有的方法来获取当前的 UINavigati
  • 使用 R 中的 dplyr 和摘要向每一行添加哈希

    我需要向数据集中的每一行添加指纹 以便检查同一组的更高版本以查找差异 我知道如何为 R 中的每一行添加哈希 如下所示 data frame iris hash apply iris 1 digest 我正在学习使用dplyr由于数据集变得越
  • Jetpack Compose 是否有创建自定义过度滚动效果的工具?

    有没有办法在jetpack compose中创建过度滚动效果 像这样的事情 过度滚动效果可以通过以下方式控制LocalOverscrollConfiguration 目前有以下参数 GlobeColor 发光效果的颜色 如果平台效果是发光效
  • json.dumps \u 将 unicode 转义为 utf8

    我来自这个老讨论 https stackoverflow com questions 18337407 saving utf 8 texts in json dumps as utf8 not as u escape sequence 但该
  • 从磁盘读取的文本不符合换行符

    Using the Text widget with text that s read from disk that contains new line characters n does not go to new line Anyone
  • 从具有运行时索引的元组中选择一组值

    简短介绍我的问题 我正在尝试使用 stl 容器实现 某种 关系数据库 这只是出于娱乐 教育目的 因此不需要诸如 使用这个库 这绝对没用 之类的答案 我知道此时标题有点令人困惑 但我们会达到目的 非常欢迎改进标题的建议 我采取了一些小步骤 我
  • 如何在PHP中将大整数转换为十六进制?

    我怎样才能转换这个 93126606828970615947672892964530113131806047264927526149623497787359285987082123864065558768789161850941454200
  • (Dis)使用 Windows.Devices.Bluetooth.Rfcomm (WP8.1) 连接蓝牙设备

    在 Windows Phone Desktop 8 1 上连接和断开蓝牙设备会产生不同的结果 我一直在使用Windows Devices Bluetooth Rfcomm命名空间 我尝试连接多个具有不同蓝牙版本 类别的设备 版本 1 2 1
  • Laravel 5.2 为列上的 JSON 构建查询

    我正在使用 MySql 5 7 14 和 laravel 5 2 我的表 用户 JSON 如下所示 id 1 options religion R hllor the Lord of Light favorite color red 当我通
  • Kotlin 中的对象和数据对象

    我在 Sealed 类中编写了这 3 个游戏状态 sealed class Status object Idle Status object Active Status object GameOver Status IDE 没有任何地方建议
  • 在 Windows 中创建 Zip 文件并在 Linux 中解压 Zip 文件

    我在 Windows 下创建了一个 zip 文件 连同目录 如下所示 代码选自http www exampledepot com egs java util zip CreateZip html http www exampledepot
  • 使用循环和 if/else 的现金找零程序

    编写一个程序 允许用户输入最多 200 00 美元的现金金额 然后计算并打印以下面额 20 10 5 1 25 10 05 01 的金额 我想我已经弄清楚了如何获得面额 除法 模数 的基础知识 但 do while 和 if else 的结
  • Google Adsense 响应式广告未显示

    在下面的链接中here http syriantc com abohani index general 我有 3 个广告 右 左 标题广告 他们正在使用响应式单元 状态为 活动 问题是响应式广告没有显示 谷歌搜索显示这是由 CSS 主题引起
  • 如何在 TableView (javaFX 8) 的 TableColumn 中显示“单个条形图”?

    这是一个屏幕截图 感兴趣的是 右上部分和下部分 下半部分选择了一条规则 该规则共调用1080次 其中成功调用274次 空调用成功84次 现在我正在显示成功与总数的比率 以及空与成功的比率 我希望能够做的是废弃比率 而是使用一个图形栏来显示非
  • 在Java中捕获全局按键

    因此 每当用户在 Swing 应用程序中的任意位置按下空格键时 我想触发一个事件 暂停 取消暂停某些媒体 由于有如此多的控件和面板可以具有焦点 因此实际上不可能向所有控件和面板添加关键事件 更不用说总的 所以我发现 KeyboardFocu
  • grobToDev.default(gTree, dev) 中的错误

    我正在尝试使用shiny gridSVG 构建一个应用程序 这个问题不断发生 我对此一无所知 我的服务器 R library grid library lattice library gridSVG shinyServer function
  • 在 Ionic 2 应用程序中,模板在构造函数之前首先加载

    我正在开发 ionic 2 应用程序 我正在尝试调用组件中的服务并尝试在模板中访问它 但我面临的问题是模板首先加载 然后组件中的承诺输出成功 因此 如果我尝试访问任何 req obj 值 我会从模板中收到未定义的错误 如何确保承诺首先得到解
  • 渐进式 Web 应用程序:离线缓存在 Android 上不起作用,但在 Chrome 开发工具上起作用

    我有一个简单的 PWA 可以在网上正常运行 我还在 Chrome 开发工具中测试了离线行为 并且 Service Worker 正在完美地完成其工作 但是 当我从 Android 手机运行该应用程序时 它无法离线工作 因为离线时缓存存储不再
  • 如何更改 .npz 文件中的值?

    我想改变一个值npz file The npz文件包含几个npy的 我想要除了一个以外的所有 run param 保持不变 我想保存原始文件 这是我的工作代码 DATA DIR C Projects Test data ass file n
  • 从 shell 脚本生成交互式 telnet 会话

    我正在尝试编写一个脚本来允许我登录到控制台服务器的 48 个端口 以便我可以快速确定哪些设备连接到每条串行线路 本质上 我希望能够有一个脚本 给定主机 端口列表 远程登录到列表中的第一个设备 并使我处于交互模式 以便我可以登录并确认设备 然