linux expect中文,Linux之expect交互语言命令

本文介绍了Linux工具expect的用途,它能实现与交互式任务的自动化通信,避免手动输入密码。通过示例展示了如何编写expect脚本来自动登录SSH,简化服务器管理中的密码验证步骤。同时,解释了expect脚本的基本元素如send、expect和spawn,并提供了与bash脚本结合使用的示例。
摘要由CSDN通过智能技术生成

****前言****

记得在去年在蝴蝶脚本已经看到过expect,只不过没有去留意它是什么,是干什么的,然而今天去了解了,并利用它来写自动化交互脚本。在服务器开发中,有时候需要同步文件(scp),远程服务器(ssh)等等,难免要进行密码的检验,这就麻烦了,不过认识expect就有解决方案啦,那么我们来认识一下吧~~~

****expect简介****

expect是Linux脚本编程工具语言,用来实现自动和交互式任务进行通信,从而不用手动处理。换句话说就是这些命令和程序是期望从终端得到输入,一般来说这些输入都需要手工输入进行的。 expect可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。

****expect安装****

$sudo apt-get install expect

****简单使用****

#!/usr/bin/expect

# ---------- 配置信息开始----------

#变量

set password heiheiPsd

# expect脚本设置

set timeout -1

# ----------配置信息结束----------

spawn ssh root@192.168.88.888

expect "*password:"

send "$password\r"

interact

send:用于向进程发送字符串

expect: 期望从进程接收到的字符串,后面也可以跟正则表达式

spawn:启动进程

set timeout -1 :脚本运行超时(秒) -1不会超时

****与bash共用****

从上面可以看出第一行已经指定了脚本的解析器,但是很多时候或场景我们只希望expect作为shell脚本的一个小小的调用部分,然而使可以的,这也是最常用的。

#!/bin/bash

echo "this bash func"

#---------expect开始----------

set password fenglican

set timeout -1

expect<

spawn ssh root@192.168.88.888

expect "*password:"

send "$password\r"

interact

END

#---------expect结束----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值