栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell脚本中的expect&send(周末不加班神器)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell脚本中的expect&send(周末不加班神器)

前沿

交互界面怎么跑脚本避免加班,全靠expect&send组合跑跑跑,嘿咻嘿咻( •̀ ω •́ )✧

教程贼多且繁杂,都在讲ssh,照猫画虎的总结一丢丢经验哈~

“expect {”  换行后的分隔符必须为tab!!!


expect介绍

expect是shell中的一种解释器,与bash一样同为脚本解释器,但expect允许执行需要交互命令的时候进行捕捉指定内容然后输入指定的内容。

安装

使用expect需要提前安装

yum install -y expect
关键词
set time out10            # 设置expect捕捉超时时间,单位为秒
/usr/bin/expect           # 使用expect,一般与重定向结合使用,以达到在bash解释器下也能执行捕捉
send                      # 发送输入内容
spawn                     # 建立输入命令的会话
exp_continue              # 继续捕捉,不断开会话
expect { “等待捕捉的内容”{send"需要输入的内容"}} 
                          # 与spawn结合使用,使用exp_continue进行多次捕捉 
栗子
#usr/bin/bash
# 定义ssh登录ip和passwd需要修改的密码
ip=10.20.151.44
password=123456

# 设置expect会话捕捉超时时间
set timeout 10 

# 使用expect 解释器
/usr/bin/expect <<-EOF

# 建立ssh命令会话窗口
spawn ssh
# 使用expect进行捕捉,格式为 “捕捉字符串” {捕捉到需执行操作}
# 加上 ;exp_continue 表示还需要继续保持捕捉动作(会话)

expect {
    "connecting (yes/no)" {send "yesr";exp_continue}
    "password" {send "$passwordr"}
} 
expect eof
EOF

0人点赞

码上有一切

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号