编写一个expect脚本来在远程服务器上执行Linux本身可能不熟悉的命令,例如“配置终端”

问题描述 投票:0回答:1

到目前为止,我已经在我的期望脚本中生成了一个 bash 脚本,它自动登录到远程服务器,它可以工作。现在,在我的预期脚本中,我尝试在我登录的远程服务器上运行“配置终端”和“复制启动配置 ftp 配置 id 1”等命令。这些命令不是 Linux 所熟悉的,这使得它变得很棘手。任何帮助都会谢谢你。

一旦expect脚本使用spawn登录到远程服务器,我如何继续使用expect脚本来运行远程服务器中我需要的命令。

bash expect remote-server
1个回答
0
投票

通常,你会写这样的内容:

spawn some process

expect "some pattern for login"
send "thePassword\r"

expect "some pattern that is the command-line prompt"
send "some command\r"
# repeat as necessary

expect "some pattern that is the command-line prompt"
send "exit\r"
expect elf

通常您需要捕获命令输出。这样做:

expect -re "(.*)\r\nsome pattern that is the command-line prompt"
set cmdOutput $expect_out(1,string)

地点:

  • expect 使用 CRLF 来表示输出中的换行符
  • 那里的
    1
    代表正则表达式模式中的第一组捕获括号。
  • 逗号后不得有空格。
© www.soinside.com 2019 - 2024. All rights reserved.