pexpect
前にandを使用したことがありsendline
ますが、今回はパイプとワイルドカードを使用してより長いコマンドを実行しています。以下を参照してください。
commandToRun='/bin/bash -c "/var/scripts/testscripts//extract -o | tail -3"'
returnedString = sendLine(commandToRun)
sendLine 関数を持つ私のクラスは、次のようになります。
self.connection = pexpect.spawn('%s %s' % (protocol, host))
self.connection.setecho(False)
self.connection.setwinsize(300, 300)
しかし、コードを実行しているとreturnedString
、応答だけでなく要求も含まれていることがわかりました。
したがって、を印刷するreturnedString
と、次のようになります。
bin/bash -c "/var/scripts/testscripts//extract -o | tail -3"<cr>
100<cr>
102<cr>
103<cr>
応答に同じバッファ内の要求が含まれるのはなぜですか?
私はすでに設定setecho(False)
していますが、役に立ちません!
編集: (正しい修正) 応答からすべてを手動で削除し、要求も削除する必要があります。setecho(False) はまだ何もしません!