expect与shell嵌套使用的例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expect与shell嵌套使用的例子相关的知识,希望对你有一定的参考价值。

#!/bin/sh
MAILDIR=/maildata/mailbox/gxm.cn/0
OLDDIR=/home/mailbox
NEWDIR=/maildata/mailbox

echo "" >/root/lostmailid
echo "" >/root/lostmailidok

for mailid in `cat /usr/local/kkmail/log/app/postman.log.2018-03-06 | awk -F" " '{print $4}' | grep -v "^program" | egrep -v "^[0-9]" | sed "s/\[//g" | sed "s/\]//g" | grep -v "gxm.cn$" | awk -F"-" '{print $1}'| uniq`
do
find $MAILDIR -name "*$mailid*" >>/root/lostmailid
done

cat /root/lostmailid | awk -F"/mailbox" '{print $2}' >>/root/lostmailidok

for line in `cat lostmailidok`
do
/usr/bin/expect<<EOF
spawn rsync -avz --progress "-e ssh -p 2222" $NEWDIR$line [email protected]:$OLDDIR$line
expect {
"yes/no" { send "yes\r"}
"*password:" { send "123456\r" }
}
expect eof
EOF
done


以上是关于expect与shell嵌套使用的例子的主要内容,如果未能解决你的问题,请参考以下文章

[shell脚本]-在shell中定义expect function

Linux之expect命令

shell expect spawnlinux expect 用法小记 看着舒服点

Linux之expect命令

shell expect的简单用法

shell 实现免交互 EOF 与 expect