当前位置: 首页 > 面试题库 >

使用bash脚本自动化telnet会话

赏星河
2023-03-14
问题内容

我正在使用Bash脚本来自动化一些与telnet相关的任务。一旦自动化,用户与telnet之间将不会进行任何交互。(这将是完全自动化的)

脚本看起来像这样:

# execute some commands on the local system
# access a remote system with an IP address: 10.1.1.1 (for example)

telnet 10.1.1.1

# execute some commands on the remote system
# log all the activity (in a file) on the Local system
# exit telnet
# continue on with executing the rest of the script.

我在这里面临2个问题:

  1. 如何从脚本(无需人工干预)在远程系统上执行命令?

根据我对一些测试代码的经验,我可以推断出在执行 telnet 10.1.1.1
时,telnet进入了一个交互式会话,并且脚本中的后续代码行在本地系统上执行。如何在远程系统而不是本地系统上运行代码行?

  1. 我无法在本地系统的telnet会话中获得有关该活动的日志文件。我使用的stdout重定向在远程系统上进行复制(我不想执行复制操作以将日志复制到本地系统)。如何实现此功能?

问题答案:

编写expect脚本。

这是一个例子:

#!/usr/bin/expect

#If it all goes pear shaped the script will timeout after 20 seconds.
set timeout 20
#First argument is assigned to the variable name
set name [lindex $argv 0]
#Second argument is assigned to the variable user
set user [lindex $argv 1]
#Third argument is assigned to the variable password
set password [lindex $argv 2]
#This spawns the telnet program and connects it to the variable name
spawn telnet $name 
#The script expects login
expect "login:" 
#The script sends the user variable
send "$user "
#The script expects Password
expect "Password:"
#The script sends the password variable
send "$password "
#This hands control of the keyboard over to you (Nice expect feature!)
interact

跑步:

./myscript.expect name user password


 类似资料:
  • 问题内容: 我正在尝试使用命令记录bash会话。 该命令是从bash脚本开始执行的,但是一旦执行,bash脚本就会终止。 我尝试使用各种组合来始终以相同的结果调用命令(调用该命令后立即终止bash脚本)。我得到的输出如下: 我也尝试过最后用a来调用命令,但是再次失败了。 谁能告诉我如何从bash脚本调用命令? 谢谢 问题答案: 您的Shell脚本没有终止。它仍在运行。您会收到提示,因为正在生成新的

  • 4. bash启动脚本 启动脚本是bash启动时自动执行的脚本。用户可以把一些环境变量的设置和alias、umask设置放在启动脚本中,这样每次启动Shell时这些设置都自动生效。思考一下,bash在执行启动脚本时是以fork子Shell方式执行的还是以source方式执行的? 启动bash的方法不同,执行启动脚本的步骤也不相同,具体可分为以下几种情况。 4.1. 作为交互登录Shell启动,或者

  • 运行脚本时,计算机会执行一系列操作。这些操作可能只涉及 Illustrator,也可能涉及其他应用程序,如文字处理、电子表格和数据库管理程序。 Illustrator 支持多脚本环境(包括 Microsoft Visual Basic、AppleScript、JavaScript 和 ExtendScript)。您可以使用 Illustrator 附带的标准脚本,还可创建自己的脚本并将其添加到“脚

  • 我正在尝试运行电子商务演示应用程序的自动化脚本。但在将项目添加到购物车时,项目将添加到购物车,但登录会话已过期。我使用selenium、testNG工具和java编程语言开发了脚本。

  • 问题内容: 我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以这样添加一个字段来做到这一点: 当您使用带有许多选项的更复杂的命令时,这变得很笨拙。是否有可能将这些命令移至bash脚本或类似的东西?就像是: 在文件中的哪里执行命令? 阅读这篇文章似乎是这样,但是我不清楚我应该在哪里放置文件或者丢失了什么。 问题答案: 完全有可能… 另外,请确保在bash文件的顶部放置一个哈希爆炸 还请