shell脚本实现交互式输入的方法

1.安装工具

需要使用except工具,expect是专门用来交互自动化的工具,但它有可能不是随系统就安装好的,有时需要自己手工安装该命令。

apt install expect 或 yum install expect

2.解决问题示例

有一个shell脚本,./absslclient.sh运行时会有如下情况:

需要在屏幕输入密码后继续,因此sslrun.sh脚本内容如下:

root@ftldap-virtual-machine:/opt/bianx# cat sslrun.sh
#! /usr/bin/expect
spawn ./absslclient.sh
expect "Enter PEM pass phrase:"
send "click1\n"
expect off
root@ftldap-virtual-machine:/opt/bianx#

注意:第一行是/usr/bin/expect,这个是选用解释器的意思,我们shell一般选的是 /bin/bash,这里不是

spawn: 指定需要将哪个命令自动化,这里我就写./absslclient.sh,按需修改即可

expect:需要等待的消息,这里根据屏幕提示信息写 "Enter PEM pass phrase:",可以按需修改

send:是要发送的命令

expect off:指明命令交互结束

运行命令可用:expect sslrun.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值