当前位置 : 主页 > 网络安全 > 测试自动化 >

自动化脚本

来源:互联网 收集:自由互联 发布时间:2021-06-19
expect 基于tcl演变而来,是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 我们运行命令、脚本或程序时,

expect 基于tcl演变而来,是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。
我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。


常用命令

spawn 启动新的进程
expect 从进程接收字符串
send 用于向进程发送字符串
interact 命令主要用于退出自动化,进入人工交互,需要和spawn 配合使用
eof 退出命令窗口

exp_continue 循环匹配

$argc 表示参数个数
而参数值存放在$argv中,比如取第一个参数就是[lindex $argv 0]

条件语句后要有一个空格隔开
if {} {} eles {}

#!/bin/bash
mv /home/duanyu/git/common_api/target/common_api-1.0.1.war /home/duanyu/git/common_api/target/ROOT.war

expect ./combot.exp
#!/usr/bin/expect   
set timeout 30
spawn scp /home/duanyu/git/common_api/target/ROOT.war [email protected]192.168.1.46:/usr/local/commo_apache-tomcat-8.5.35_8080/webapps
expect {
"password:" {send "123\r"}
}
expect eof
spawn ssh [email protected]192.168.1.46
expect {
"password:" {send "123\r"}
}
expect {
"\\\$" {send "cd /usr/local/www/common_apache-tomcat-8.5.35_8080/logs \r"}
}
expect {
"\\\$" {send "sudo tail -f  catalina.out\r"}
}
expect {
"密码:" {send "123\r"}
}

interact 
网友评论