首页 > 其他分享 >交互式转化批处理工具 expect

交互式转化批处理工具 expect

时间:2024-04-22 19:45:40浏览次数:22  
标签:set exp 批处理 send expect 交互式 yes password

交互式转化批处理工具 expect

expect中相关命令

  • spawn 启动新的进程
  • expect 从进程接收字符串
  • send 用于向进程发送字符串
  • interact 允许用户交互
  • exp_continue 匹配多个字符串在执行动作后加此命令

例一

#!/usr/bin/expect
spawn scp /tmp/123.txt [email protected]:/tmp
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "password\n"}
}
expect eof
[umpay@localhost ~]$ ./a.exp 

例二

#!/usr/bin/expect
spawn ssh 1192.168.10.200
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "password\n"}
} 
interact

例三 expect变量

#!/usr/bin/expect
set ip 1192.168.10.200
set user umpay
set password password
set timeout 10
spawn ssh $user@$ip
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "$password\n"}
}
interact

例四 expect位置参数

#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$ip
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "password\n"}
}
interact
[umpay@localhost ~]$ ./d.exp 1192.168.10.200 umpay password

例五 expect 执行多个命令

#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set timeout 20
spawn ssh $user@$ip
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "$password\n"}
}
expect "]#" {send "echo 'root1'\n"}
expect "]#" {send "echo 'root2'\n"}
send "exit\n"
expect eof

例六 shell脚本调用expect

#!/bin/bash
ip=$1
user=$2
password=$3
expect <<EOF
set timeout 20
spawn ssh $user@$ip
expect {
  "yes/no" {send "yes\n";exp_continue}
  "password" {send "$password\n"}
}
expect "]#" {send "echo 'ssh root1'\n"}
expect "]#" {send "echo 'ssh root2'\n"}
expect "]#" {send "exit\n"}
expect eof
EOF

标签:set,exp,批处理,send,expect,交互式,yes,password
From: https://www.cnblogs.com/baixisuozai/p/18148990

相关文章

  • SLS 查询新范式:使用 SPL 对日志进行交互式探索
    作者:无哲引言在构建现代数据和业务系统的过程中,可观测性已经变得至关重要,日志服务(SLS)为Log/Trace/Metric数据提供了大规模、低成本、高性能的一站式平台服务,并提供数据采集、加工、投递、分析、告警、可视化等功能,从而全面提升企业在研发、运维、运营和安全等各种场景的数字化......
  • Dynamics CRM 2013 批处理
    GetServiceusingSystem;usingSystem.Configuration;usingMicrosoft.Xrm.Client;usingMicrosoft.Xrm.Client.Services;usingMicrosoft.Xrm.Sdk;usingMicrosoft.Xrm.Sdk.Query;namespaceTest{classProgram{staticvoidMain(string[]args)......
  • PT Application Inspector 4.5 (Linux) - 静态、动态和交互式应用程序安全测试
    PTApplicationInspector4.5(Linux)-静态、动态和交互式应用程序安全测试唯一一款提供高质量分析和便捷工具以自动确认漏洞的源代码分析器请访问原文链接:PTApplicationInspector4.5(Linux)-静态、动态和交互式应用程序安全测试,查看最新版。原创作品,转载请保留出处。......
  • NEMU PA3 - 穿越时空的旅程: 批处理系统
    frompixiv最简单的操作系统最简单的操作系统有:批处理功能有一个后台程序,当一个前台程序执行结束的时候,后台程序就会自动加载一个新的前台程序来执行这样的一个后台程序,其实就是操作系统用户程序执行结束之后,可以跳转到操作系统的代码继续执行操作系统可以加载......
  • 'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    参考:https://blog.csdn.net/China_xiaoCuan/article/details/133272594安装了vs2022环境变量配置如下系统变量的pathC:\ProgramFiles\MicrosoftVisualStudio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx64\x64C:\ProgramFiles\MicrosoftVisualStudio\2022......
  • 轻松实现自动化文件传输——利用expect脚本进行SCP拷贝
    轻松实现自动化文件传输——利用expect脚本进行SCP拷贝原创 脚本家园 脚本家园 2024-04-1906:00 云南 听全文在日常生活和工作中,我们经常需要在不同的服务器或计算机之间传输文件。尤其是系统管理员和开发人员,他们经常需要远程复制文件到其他机器上。这时,我们可以利......
  • json反序列化 JsonConvert.DeserializeObject 报错 One or more errors occurred. (U
    接口返回的字符串肉眼看起来正常,也是标准json,反序列化时候报错,字符串添加了UTF8-BOM头(windows记事本默认编码),可以通过以下代码移除标头//模拟json字符串对象varjsonStr="{}";byte[]buffer=Encoding.UTF8.GetBytes(jsonStr);varsResult=Encoding.UTF8.GetString......
  • 自动以管理员身份运行批处理bat文件(vbs与bat两种方法)
    <p>但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败。</p>我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,......
  • electron启动报错The futex facility returned an unexpected error code
    -启动electron时报错(ubuntu-22.04) githubissue地址:https://github.com/electron/electron/issues/24211?spm=a2c6h.12873639.article-detail.9.320d60da4kg611需要在启动命令前加环境变量  DISPLAY=:0start:"cross-envDISPLAY=:0vue-cli-serviceelectron:serve"......
  • 构建动态交互式H5导航栏:滑动高亮、吸顶和锚点导航技巧详解
    功能描述产品要求在h5页面实现集锚点、吸顶及滑动高亮为一体的功能,如下图展示的一样。当页面滑动时,内容区域对应的选项卡高亮。当点击选项卡时,内容区域自动滑动到选项卡正下方。布局设计css布局为了更清晰的描述各功能实现的方式,将页面布局进行了如下的拆分。★最外层的元......