我有以下场景在命令行上正常工作
value=`cat /root/abc`
echo $value
正在打印文件abc的内容
现在我想用Expect执行
我做了如下
send "value=`cat /root/abc`\r"
现在我想在某个变量中捕获值,如下所示
set A_Value = $value
但收到错误can't read "value": no such variable
我是expect
的新手并且第一次尝试,所以任何人都可以让我知道如何实现同样的目标。
由于
答案 0 :(得分:0)
请记住,期望只是一个为您键入密钥的机器人。期望对其自动化过程的内部运作没有任何特殊的了解。
你很难做到这样的事情:捕获输出,不包括你发送的命令和提示:
send "echo \"\$value\"\r"
expect -re "echo \[^\r]+\r\n(.*)\r\n$prmpt $"
set file_contents $expect_out(1,string)