shell脚本--expect自动应答

expect自动应答  TCL语言

需求1:远程登录到A主机,什么事情也不做

#! /usr/bin/env expect
# 开启一个程序
spawn ssh [email protected]192.144.213.113

# 捕获相关内容
expect {
        "(yes/no)?" { send "yes\r";exp_continue }
        "password:" { send "Lzw18519331036\r" }
}
interact  //交互

需求2:远程登录A主机,做一些事情

#! /usr/bin/env expect
set ip 192.144.213.113
set pass Lzw18519331036

spawn ssh [email protected]$ip
expect {

}

原文地址:https://www.cnblogs.com/lizhewei/p/11747791.html

时间: 2024-10-09 18:44:10

shell脚本--expect自动应答的相关文章

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

使用Shell脚本+expect批量部署ssh

Shell脚本+expect批量部署ssh一.准备工作及思路1,三台机器做实验(centos6.5.IP:192.168.0.22 (主控制).192.168.0.156.192.168.0.157)2,IP:22这一台做主控机器,另外2台做客户机.3,提前在主控制机器上创建好公钥,安装好expect,使用脚本批量推送ssh公钥.4,本次部署是以root身份进行下面的操作.二.正式部署1,首先穿件秘钥[[email protected] .ssh]# ssh-keygen -t rsa Gene

Shell脚本------Expect(实现ssh服务免交互)

Expect基本概述 Expect是通用的,因此它可以作为用户级别的命令运行,而无需考虑任何程序和任务.Expect实际上可以同时与多个程序对话.Expect对于需要程序与用户交互的程序来说非常有用.如果有需要Expect还可以交还控制权给用户,而不需要停止被控制的程序.同样,用户也可以在任何时候将控制权返还给脚本. 常用选项 -c:在脚本中任何要执行的命令之前的命令前缀.应该用引号将命令包围起来,防止被shell破坏.此选项可以多次使用.多个命令可以用一个-c按顺序执行,用分号进行分隔(如果使

Shell脚本(自动填充函数模板)

最近很多同学在看我视频教程的时候,对 vii 这货很好奇,vii 是 vi 的亲戚吗?为什么用它新创建一个新程序能自动填充程序框架代码呢? 今天就来扒一扒这货. 其实,vii 是我写的一个脚本,跟 vi 没半毛钱关系,只不过借用一下这个名字而已.那这个脚本长什么样呢?look: 下面听我详细为你解析上面的代码,来看第1行: #!/bin/bash 这是Shell脚本的格式,没啥好讲的. 再来看第3-6行: if [ $# -eq 0 ] then vi fi 这是是判断执行 vii 的时候带不带

shell脚本实现自动生成文件并更改其权限

在学习shell的时候,会不断的创建新文件,然后在新文件中的编写shell脚本学习.于是就有如下几个步骤: 1. 使用touch命令新建shell脚本 2. 编写shell脚本 3. 使用chmod更加shell脚本权限,使其具有可执行权限,然后执行 当多写几个脚本后,就发现这个过程很繁琐,而且新建的shell脚本是以数字升序进行创建的.为什么不写一个脚本来实现上述三个过程了.于是就开始了,结果花了好长一段时间才弄出来,真实惭愧,还是对shell不熟悉了. 先说说实现的思路: 1. 先得到目录下

使用shell脚本实现自动备份MySQL数据库

192.168.1.2服务器对192.168.1.1服务器上的MySQL数据库进行备份. 必须满足的条件: 1.在192.168.1.1服务器上创建专门用来备份的数据库账号,并赋予相应的权限: mysql> grant select,lock tables on *.* to 'operator'@'192.168.%.%' identified by '123456'; #备份数据库需要账号具有查看表和锁定表的权限 2.在192.168.1.2服务器上使用该账号进行手工备份,测试是否可以备份成

shell脚本 expect 实现自动登陆

vi auto_ssh.exp #!/usr/bin/expect set ipaddress "123.227.159.159" set passwd "你的密码" set timeout 30 spawn ssh [email protected]$ipaddress expect { "yes/no" {send "yes\r";exp_continue} "password" {send "

Linux Shell脚本之自动修改IP

作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask gateway scripts #wugk 2012-12-17 cat << EOF ++++++++自动修改ip和主机名

使用shell脚本完自动安装lnmp系统

#!/bin/bashcd /usr/local/src./installmysql./installnginx./installphp./installhaproxy./installkeepalivedtouch /usr/local/nginx/html/phpinfo.phpecho -e "<?php\nphpinfo();" > /usr/local/nginx/html/phpinfo.php #!/bin/bashcd /usr/local/srctar z