在Hp-UX ksh中执行交互式命令(无需预期)并获取子进程

时间:2014-07-09 13:02:26

标签: c unix scripting ksh hp-ux

我必须执行一个启动另一个ksh交互式shell的unix交互式命令,然后我可以执行其他命令。

期望或tcl / tk不可用,似乎我无法使用重定向(因为第一个交互式命令会启动其他无法重定向(或不知道如何)输出的子项。

示例(未自动生成)

$ /bin/someComand
username: xpto
password: xpty

someCommand is now executing other voodooshell:

voodooshell$ /bin/anotherCommand
This is the output you want..
bye
.

第一部分很简单:

$ /bin/someCommand<<E
xpto
xpto

E

尝试这样的事情不起作用

$ /bin/someCommand<<E
xpto
xpto


E<(otherPrettyCommands<<A
who
quit
A )

所以我虽然.....用popen程序!? :-)好吧,再次解决第一个问题很好,但是如何在退出之前获得第一个问题的子进程并将命令重定向到它? : - (

你会如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果你想只捕获输出(而不是注入输入),也许你可以运行相当于Linux的

strace -ff -p pid

然后尝试解析strace的输出。

对于HP-UX,我认为相当于strace是truss或tusc。 tusc可以在下载 http://hpux.connect.org.uk/hppd/hpux/Sysadmin/tusc-8.1/

(但我从未在HP-UX中使用过tusc或truss,所以我不知道这是否可行)。