Doubbbbbbble云的博客

记录下我的配置管理

expect使用小结

最近使用的脚本中需要输入用户名密码,所以使用了expect,归纳一下使用方法和注意的点

首先,expect需要安装后使用,安装方法非常简单,使用yum install expect即可完成安装。

脚本大致如下:

#!/bin/bash

/usr/bin/expect <<EOF
spawn su - username
expect {
    "口令:"
        {
            send "password\r"
            send "sleep 1 \r"
        }
}
expect eof
spawn scp -r backup username@ipaddress:/backup/ldap/
expect {
    "password:"
        {
            send "this is password\r"
        }
}
expect eof
interact
EOF

expect后面第一个括号中写的是在遇到什么字符时触发,send后面的双引号中为要输入的字符。需要注意的是send不会自动换行,需要添加\r。

如果是scp之类的传输文件,注意需要用set timeout 60设置超时时间,60为秒,不设置的话默认为10秒。


阅读更多
文章标签: shell expect
个人分类: 系统
上一篇不用重启修改Linux主机名
下一篇csvn-httpd启动报AH00094错解决办法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭