在我的测试文件中,我有这一行 hello$LG. 所以,如果我这样做
`cat /test`
它将显示在我的 bash shell - hello$LG
但是当我尝试在我的期望脚本中执行此操作时,
$> expect test.sh `cat /test`
它给了我这个 {hello$LG} 。我不知道为什么它会变得 {}。任何人都知道如何解决这个问题?
在我的测试文件中,我有这一行 hello$LG. 所以,如果我这样做
`cat /test`
它将显示在我的 bash shell - hello$LG
但是当我尝试在我的期望脚本中执行此操作时,
$> expect test.sh `cat /test`
它给了我这个 {hello$LG} 。我不知道为什么它会变得 {}。任何人都知道如何解决这个问题?
Expect 是基于 TCL 的,你应该使用方括号来执行代码。尝试执行 shell 命令时,您应该使用 exec 或 open 或 spawn。
我不确定 test.sh 做了什么,但是
expect [exec test.sh 'cat /test']
可能只是做的伎俩。
这里有更多关于从 Tcl 运行其他程序的信息: http ://www.tcl.tk/man/tcl/tutorial/Tcl26.html