暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
linux下的expect的简单用法及举例
485
2页
1次
2019-12-03
5墨值下载
linux
下的
expect
的简单用法及举例
1
使
expect
rpm
hp://download.csdn.net/detail/wang7dao/4416172
# rpm -ihv expect-5.43.0-8.el5.i386.rpm
# rpm -ihv expect-devel-5.43.0-8.el5.i386.rpm
2
、使用脚本文件的例子
--
实现自动输密码
#!/usr/bin/expect -f
set password 123456
#download
spawn scp root@192.168.1.218:/root/a.wmv /home/yangyz/
set +meout 300
expect "root@192.168.1.218's password:"
set +meout 300
send "$password\r"
set +meout 300
send "exit\r"
expect eof www.2cto.com
3
、在
sh
脚本中嵌入
expect
的例子
--
通过连上一个公网的服务器再转跳到一个内网的服务器
上,用脚本实现不用输密码,直接使用
./goto.sh servername
#!/bin/bash
passmsmallq10="a"
passzhsh="a"
passfcwr="b"
passwapfx="c"
passadfx="d"
ip1="200.100.10.10"
ip2="10.100.100.70"
ip3="10.100.100.60"
ip4="10.100.100.10"
ip5="10.100.100.20"
case $1 in
"zhsh") passstr=$passzhsh ipstr=$ip2 ;;
"fcwr") passstr=$passfcwr ipstr=$ip3 ;;
"wapfx") passstr=$passwapfx ipstr=$ip4 ;;
"adfx") passstr=$passadfx ipstr=$ip5 ;;
*) echo "The parameter $1 isn't exist"
exit 0 ;; www.2cto.com
esac
command1="ssh -l m_smallq -p 36000 $ip1"
command2="ssh -l mqq -p 36000 $ipstr"
expect -c "
set +meout 60;
spawn $command1;
expect {
\"221.130.15.10's password:\" {send \"$passmsmallq10\r\"; exp_con+nue}
\"m_smallq\" {send \"$command2\r\"; exp_con+nue}
\"mqq's password:\" {send \"$passstr\r\";interact}
}
"
对上面例子的
expect
的解说
expect -c "..." --
里面输入命令
expect {...} --
里面的多行记录,从上向下扫描匹配,谁先匹配谁先处理。
www.2cto.com
4
ssh
到另
df -h
退出,要
send
后面
\r
分行
成多个命令
#!/bin/bash
ip1="183.62.178.191"
command1="ssh -l root -p 14322 $ip1"
expect -c "
spawn $command1;
expect {
\"183.62.178.191's password:\" {send \"aa\r\"; exp_con+nue}
\"root@\" {send \"df -h\r exit\r\"; exp_con+nue}
}
"
作者
wang7dao
of 2
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜