当前位置:   article > 正文

shell中expect的使用_expect<

expect<

centos6下调用后缀是.exp

没有需要安装经常会报错用不了实际是因为后缀不对

通过# ./test.exp

如果 vim ./test.exp

#!/usr/bin/expect -f     
set day 'date +%Y%m%d -d "-1 days"'
set timeout -1    #注意,此处为设置永不超时
spawn lftp XXXX@10.151.XXX.XXX:8021
expect "Password:"
send "XXXXX\r"
send "cd /bofangurl/\r"
send "ls\r"
send "get XXXXX.csv\r" 
interact

================================

如果通过test.sh

#!/bin/bash
day=`date +%Y%m%d -d "-1 days"`

expect <<END
set timeout -1
spawn lftp XXXX@10.151.XXX.XXX:8021
expect "Password:"
send "XXXXX\r"    #密码
send "cd /bofangurl/\r"
send "ls\r"
send "XXXXX.csv\r"
send "exit\r"
expect eof
END
#interact

上面直接sh test.sh

=============================

spawn    #启动新的进程
expect    #从进程接收字符串,信息匹配成功则执行expect后面的程序动作
send    #用于向进程发送字符串
set    #定义变量
set timeout    #设置超时时间
exp_continue    #相当于其他语言的continue,此处用于判断语句,在此处重新进行判断
expect eof    #表示结束交互,但会原终端所在位置。
interact    #与expect eof作用类似,但结束交互后,所处位置为脚本内最后所在位置
exit    #退出expect脚本

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/666026
推荐阅读
相关标签