expect常见用途
expect
通常用来自动输入一些脚本,比如我要ssh
或者scp
时,通常会让你确认,是否继续,或者输入密码。
这种情况有两种解决方式:
- 安装秘钥,使得
ssh
和scp
都能免密码操作、免密码登录。 - 使用
expect
配置一些自动化的应答脚本。
由于我是通过docker
容器访问服务器,所以推荐第二种。
安装
一般来说,各个linux
版本,通过各自的包管理器,就能直接安装,比如:
yum install -y expect
或者使用rpm包:
rpm -ivh expect-5.45-14.el7_1.x86_64.rpm
rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
脚本
expect脚本和shell脚本,有不少区别,特别是变量的使用上。考虑到expect输入的用户、密码,通常需要保密,直接给出最佳处理方案:就是在shell中保存变量,然后构造一段expect
脚本: