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