【发布时间】:2013-11-14 09:57:14
【问题描述】:
我正在使用 expect 在远程机器上执行一堆命令。然后,我从一个 shell 脚本调用期望脚本。
我不希望期望脚本将发送的命令记录到标准输出,但我希望它记录命令的输出,因此我的 shell 脚本可以根据该结果执行其他操作。
log_user 0
隐藏命令和结果,所以它不符合我的需要。我怎么知道期望记录结果?
【问题讨论】:
我正在使用 expect 在远程机器上执行一堆命令。然后,我从一个 shell 脚本调用期望脚本。
我不希望期望脚本将发送的命令记录到标准输出,但我希望它记录命令的输出,因此我的 shell 脚本可以根据该结果执行其他操作。
log_user 0
隐藏命令和结果,所以它不符合我的需要。我怎么知道期望记录结果?
【问题讨论】:
嗯...我不确定您是否可以这样做,因为看到您发送的命令的原因是远程设备将它们回显给您。这是标准程序,这样做是为了让用户在与设备交互时看到他或她输入的内容。
我想说的是,设备输出到发出的命令,和回显命令都是衍生进程的标准输出的一部分,因此我不相信你可以分开一个。
现在我想到了,我认为您可以将终端配置为不显示回显命令...但不确定您将如何使用未使用的衍生进程来执行此操作交互式终端。
如果您找到方法,请告诉我们,我很想知道是否有方法。
【讨论】: