社区
Linux/Unix社区
帖子详情
学习expect
猫已经找不回了
2009-08-13 08:35:40
学习expect,今晚回去看。
先记下来。。。
http://blog.chinaunix.net/u3/94157/showart_2012045.html
http://www.chinaunix.net/jh/24/594417.html
...全文
248
3
打赏
收藏
学习expect
学习expect,今晚回去看。 先记下来。。。 http://blog.chinaunix.net/u3/94157/showart_2012045.html http://www.chinaunix.net/jh/24/594417.html
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
猫已经找不回了
2009-08-15
打赏
举报
回复
ok,结贴。。
yhf365
2009-08-15
打赏
举报
回复
来人了,哈哈
猫已经找不回了
2009-08-14
打赏
举报
回复
人都没一个,想结贴都不行?
Expect
学习
笔记
Tcl扩展组件
expect
学习
笔记,包含了
expect
的主要命令,以及
学习
心得等
Expect
_
学习
笔记
Expect
_
学习
笔记,带讲解和例子,非常完整。
expect
学习
笔记
expect
学习
笔记
expect
是进行高效的系统和网络管理工作是不可或缺,实现自动交互的一种工具.
用
expect
实现切换用户时自动输入密码.txt
昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助
expect
来搞定,所以初步
学习
了一下
expect
,成果和大家分享一下: 应用一: 实现从普通用户“test”切换到root用户,自动输入root的密码,不用在终端提示符下执行密码输入操作。 步骤: (1)vi autosu.sh (2)#! /usr/bin/
expect
-f //指定
expect
工具的路径,如果不清楚具体路径,可以用"which
expect
"命令来查看。 spawn su - // 在
expect
中用"spawn"关键字来调用命令“su - ”
expect
":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写
expect
":",或者
expect
-exact "口令:" send "rootpasswd\r" //这里
expect
用send将你的root密码自动输入到上面的提示符之后。 interact //操作完成。 注意:这里强调一下执行脚本时要注意的地方,不能按照习惯来用sh ***.sh来这行
expect
的程序,会提示找不到命令,因为
expect
用的不是bash所以会报错。执行的时候直接./***.sh就可以了。~切记! 应用二: 从普通用户切换到root之后,执行“ls”操作,调用执行aaa.sh,返回执行结果,间隔10S。 #/usr/bin/
expect
-f spawn su - // 在
expect
中用"spawn"关键字来调用命令“su - ”
expect
":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写
expect
":",或者
expect
-exact "口令:" send "rootpasswd\r" //这里
expect
用send将你的root密码自动输入到上面的提示符之后。
expect
"#" //当遇到提示符以#结尾时,即为root权限时; send "ls\r" //
expect
用spend方法调用ls 命令,并且回车(“\r”)
expect
"#" send "sh aaa.sh\r" //调用sh aaa.sh,即执行一个脚本文件aaa.sh。
expect
"#" send "echo $?\r" sleep 10 interact
expect
脚本
学习
教程与范例
xpect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。
Expect
的作者Don Libes在1990年开始编写
Expect
时对
Expect
做有如下定义:
Expect
是一个用来实现自动交互功能的软件套件(
Expect
[is a] software suite for automating interactive tools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。
Expect
则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。甚至可以实现实现简单的BBS聊天机器人。 :)
Expect
是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手。
Expect
需要Tcl编程语言的支持,要在系统上运行
Expect
必须首先安装Tcl。
Expect
工作原理 : 从最简单的层次来说,
Expect
的工作方式象一个通用化的Chat脚本工具。Chat脚本最早用于UUCP网络内,以用来实现计算机之间需要建立连接时进行特定的登录会话的自动化。 Chat脚本由一系列
expect
-send对组成:
expect
等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应。例如下面的Chat脚本实现等待标准输出出现Login:字符串,然后发送somebody作为用户名;然后等待Password:提示符,并发出响应sillyme。
Linux/Unix社区
18,771
社区成员
11,461
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章