我目前正在使用 Expect 来传递密码,这样我的脚本就可以自动运行,而无需我坐下来一遍又一遍地输入相同的密码。
重要提示:请不要评论这有多大的安全风险或我应该如何使用 ssh 密钥,如果可以的话我会使用这些密钥,但我必须使用的设置不允许这样做。
我的代码如下所示:
#!/bin/sh
PASS=mypassword
/usr/bin/expect -c "
spawn python Tools/python/install.py
expect -nocase \"password:\" {send \"$PASS\r\"; interact}
"
我遇到的问题是 install.py 提示输入相同的密码十几次,似乎只希望自动填充第一次提示的密码。
有没有办法修改行为,使其填写 12 次密码,而不仅仅是第一次?
你必须做一些编程。幸运的是,答案非常简单:
#!/bin/sh
PASS=MyPassword
export PASS
/usr/bin/expect -c '
spawn python Tools/python/install.py
expect {
-nocase "password:" {
send "$env(PASS)\r"
exp_continue
}
"somthing_else_that_indicates_you're_ready_to_interact"
}
interact
'
也清理了外壳引用一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)