我试图在unix中捕获程序的输出,并将其用作expect脚本中的变量。当我执行该程序时,我会得到类似的结果:
[user@svr]# ./passwdgenerator
1234*&^^[user@svr]#
如您所见,“1234 *& ^^”是我想要捕获的密码并将其放入expect脚本中:
set user user1
set password [open ./passwdgenerator]
spawn ssh $user@server1.com
expect "password:"
send "$password\r"
显然它目前无法正常工作,只是想知道我应该怎么写这个。曾经在txt文件上试过这个,工作过。但是当它是程序输出时,出于安全原因我们不想在文本文件中存储密码,所以它不起作用。有专家可以帮个忙吗?非常感谢。!
答案 0 :(得分:5)
这一行
set password [open ./passwdgenerator]
更改为
set password [exec ./passwdgenerator]