我有以下在命令行上运行良好的场景
value=`cat /root/abc`
echo $value
正在打印文件abc的内容
现在同样我想使用 Expect 执行
我做了如下
send "value=`cat /root/abc`\r"
现在我想如下捕获一些变量中的值
set A_Value = $value
但出现错误无法读取“值”:没有这样的变量
我对 expect
还是第一次尝试,所以谁能告诉我如何实现同样的目标。
谢谢
最佳答案
请记住,expect 只是一个为您键入键的机器人。 Expect 对它正在自动化的过程的内部工作没有任何特别的了解。
你被困在做这样的事情:捕获不包括你发送的命令和提示的输出:
send "echo \"\$value\"\r"
expect -re "echo \[^\r]+\r\n(.*)\r\n$prmpt $"
set file_contents $expect_out(1,string)
关于linux - 如何使用 Expect 将命令的返回值分配给其他变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421847/