【linux.2】利用expect为脚本命令自动插入参数(以gpg解密为例)

第一次写linux的这种脚本,坑点在于每次使用加密都需要输入私钥,为了让程序顺利运行,使用expect来编写运行脚本.

另一个坑点就是必须要先安好tcl,然后安装expect,然后才能运行.

脚本内容就是循环执行解密密令.

#!/usr/local/bin/expect -f  //注意将路径替换成expect路径,可用"which expect"命令查询
while 1 {
spawn  gpg --output demo.de.txt --decrypt demo.en.txt
expect    -exact    "请输入密码:"
send "1\r"
expect -exact "文件‘demo.de.txt’已存在。 是否覆盖?(y/N)"
send "y\r"
interact
}

spawn后加要执行的命令

expect -exact加需要输入的一行中电脑输出的内容

send加你需要自动输入的内容,如密码等

interact 结束

linux下运行命令为:

expect auto.sh //auto.sh为脚本文件名

总的来说这种东西写出来了,临时用用还行,但是具体的linux脚本编写还差得远,之前查到expect大都是编写vpn时候用到在断网时自动链接vpn时自动输入密码.以后有时间再试试吧.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值