Linux expect的安装与使用
Expect是在Tcl的基础上创建的,可以用来做一些Linux下无法做到交互的命令操作,可用于远程管理服务器。
一、安装Tcl:
1.下载源码包:
wget http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.11-src.tar.gz
2.解压缩源码包:
tar xfvz tcl8.4.11-src.tar.gz
3.编译安装:
cd tcl8.4.11/unix
./configure --prefix=/usr/tcl --enable-shared
make
make install
4.安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中。
二、安装expect:
1.下载源码包:
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
2.解压源码包:
tar xzvf expect5.45.tar.gz
3.安装配置:
cd expect5.45
./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/genericmake
make install
4.建立软连接:
ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
三、expect语法及示例:
set命令:可以设置变量。
spawn命令:激活一个Unix程序来进行交互式的运行。
send命令:向进程发送字符串。
expect命令:等待进程的某些字符串。expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作。
interact命令:执行完毕把持交互状态,然后在控制台继续操作。如果没有这一句,登陆之后就会退出,而不是留在终端上。
示例j脚本test.exp:
#!/usr/bin/expect
set HOST [192.168.11.11 $argv 0]
set PWD [123456 $argv 1]
spawn ssh root@$HOST
expect "*passwrod:"
send "$PWD\r"
expect "*#"
send "echo hello\r"
interact
修改权限:chmod 755 test.exp
执行:expect test.exp
————————————————
版权声明:本文为CSDN博主「lishuzebobo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013181216/article/details/83055909
最新文章
- 【NLP】十分钟快览自然语言处理学习总结
- C# 给PDF文件添加水印
- Linux内核分析 第二周
- iOS通过手势拿到当前的View
- CSS常用样式(三)
- DOM、Window对象操作
- sql 数据量高并发的数据库优化(转)
- BZOJ1393 [Ceoi2008]knights
- odata
- OpenVPN多处理之-netns容器与iptables CLUSTER
- OpenSCAD 建模:矿泉水瓶花洒
- vue-cli3
- 在dotnetcore的MVC项目中,创建支持 vue.js 的最小工程模板
- oralce 常用sql
- java-vip介绍
- 莫烦keras学习自修第一天【keras的安装】
- mac安装pyspider报错
- JAVA之字母与相对应数字转换
- python的初始化运行了哪些?
- HBase RegionServer宕机处理恢复
热门文章
- python 私有和保护成员变量如何实现?—— ";单下划线 "; 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量;"; 双下划线 "; 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据
- 使用matlab遇到的问题
- 解决Antimalware Service Executable CPU占用高的问题
- 第122题:买卖股票的最佳时机II
- C++处理异常
- js 相差年、月、日
- c语言实现整数转换为字符串——不考虑负数
- PAT乙级1045 快速排序
- 开放API接口安全处理
- [Flutter] Custom a Slider with SliderTheme