shell脚本自动输入密码 base与expec兼容写法

其实网上有很多的资料怎么去实现shell脚本自动化输入密码了。就是比较零散。大多数都是单独shell脚本处理用户密码。个人再重新整理一下。环境centos7.6。

1. 先下载expec。具体作用百度了。在此不作说明。

yum install -y expect

2. shell脚本

#!/bin/bash
#设置终端输入去掉^H 

stty erase '^H'
echo "请输入gitlab账号,回车结束:"
read gituser
echo "请输入gitlab密码,回车结束:"
read gitpw

#开启expect
/usr/bin/expect <<-EOF
set timeout 30
spawn git clone http://xxxx/xxx.git
expect "Username for" { send "$gituser\r" }
#重点就是exp_continue。结束当前expect。
#关于这个步骤,确实不太懂为啥要加这句,用interact为啥就不行呢? 
expect "Password" { send "$gitpw\r"; exp_continue; }
EOF

exp_continue 附加于某个 expect 判断项之后,可以使该项被匹配后,还能继续匹配该 expect 判断语句内的其他项。exp_continue 类似于控制语句中的 continue 语句。

例如:下例将判断交互输出中是否存在 yes/no 或 *assword。如果匹配 yes/no 则输出 yes 并再次执行判断;如果匹配 *assword 则输出 123abc 并结束该段 expect 语句。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值