非常简单的期望脚本但不起作用

时间:2017-07-04 15:57:08

标签: expect

我一直在尝试自动解密加密的Ansible yaml文件。我知道你可以用

设置ansible.cfg

vault_password_file =〜/ .vault_pass.txt

但是,我很好奇。结果我无法完成一项简单的任务。这是愚蠢的剧本

#!/usr/bin/expect
set timeout 9
set file [lindex $argv 0]
spawn ansible-vault decrypt $file
expect "Vault password:"
send "MyAwesomePassword\r"

然后我将脚本用作

ansible-vault decrypt vars-mysql-config.yml

输出

spawn ansible-vault decrypt /Users/ruben/ansible/vars/vars-mysql-config.yml
Vault password: %

没有成功。我知道这是一个愚蠢的问题,但是很简单,我感到非常困难,以为我忘记了什么。

有什么想法吗?谢谢你的阅读!

1 个答案:

答案 0 :(得分:1)

尝试一下:

#!/usr/bin/expect
set timeout 9
set file [lindex $argv 0]
spawn ansible-vault decrypt $file
expect "Vault password: "
send "MyAwesomePassword\r" 
interact

我在Expect命令中添加了一个空格,并在末尾添加了interact命令。