期望作为程序包装器

| 我正在编写一个脚本来与GDB交互,并且需要GDB认为它已连接到终端。我在网上找到了一些可用于执行此操作的C函数的引用,但我的程序是用Groovy(Java)编写的,我想避免使用JNI接口。我认为更好的方法是使用Expect。 作为脚本:
#!/usr/bin/env expect
eval spawn $argv
interact
从我的脚本运行时:
\"expect -c \'eval spawn \" + cmd + \"; interact\'\".execute()
这些脚本的问题在于期望似乎永远不会终止。我希望我的包装器是通用的,所以我不想套用特定的词。我也不想使用GDB / MI接口,因为我想生成GDB会话的日志,就像您从终端上看到的一样。我怎样才能使期望包装器正确终止?我是否需要担心所提供命令中的引号,或者是否具有足够的衍生能力以找出列表中带有空格的项目仍然是一个参数?     
已邀请:
您写到不想使用JNI。您是否考虑过使用JNA?到目前为止,我从未使用过它,但是描述似乎很有希望。     
这有点矛盾,但也许您可以在
script
中运行run2ѭ。     
放弃并仅使用MI界面     

要回复问题请先登录注册