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

expect命令简介及使用案例

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

expect命令简介及使用案例

expect作为交互式工具,可以在命令或程序执行时,已交互的形式输入执行字符,实现自动化交互通信。

可将expect看作是另一种shell,只不过expect有特有的语法

语法:

spawn执行命令或程序--expect获取匹配的关键字--send发送指定字符进行交互--退出

expxct工具需要提前安装,执行yum -y install expect 

场景:需要与多个服务器建立链接后进行操作

#!/usr/bin/expect
 
set ipaddress "xxx.xxx.xxx.xxx"
set passwd "password"
set name "name"
set timeout 30 #设置超时时间
 
spawn ssh -p port  $name@$ipaddress #交互程序开始后面跟命令或者指定程序
 
expect {
"yes/no" {send "yesr";exp_continue} #获取匹配的关键字并对应发送
"password" {send "$passwdr"}     #r为回车必须要加
}
interact #保持交互状态
expect eof #expect执行结束 退出

场景:批量修改过期密码

#!/bin/bash

for i in `cat hostip.txt`
do

    /usr/bin/expect << EOF
    spawn /usr/bin/ssh root@$i

    expect {
        "UNIX password" { send "oldr" }
    }
    
    expect {
        "New password:" { send "new#r" }
    }

   expect {
        "Retype new password:" { send "newr" }
    }

    expect "*]#"
    send "echo new|passwd --stdin rootr"
    expect "*]#"
    send "exitr"
    expect eof
EOF
done

 

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

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

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