リモートマシンで一連のコマンドを実行するためにexpectを使用しています。次に、シェルスクリプトからexpectスクリプトを呼び出しています。
期待スクリプトが送信されたコマンドを stdout に記録したくありませんが、コマンドの出力を記録したいので、シェルスクリプトはその結果に応じて他のことを実行できます。
log_user 0
コマンドと結果の両方を非表示にするため、私のニーズには合いません。結果をログに記録することを期待するにはどうすればよいですか?
うーん...あなたが送信したコマンドを見る理由は、リモートデバイスがそれらをあなたにエコーバックするためであるため、それができるかどうかはわかりません。これは標準的な手順であり、ユーザーがデバイスと対話するときに入力内容を確認するために行われます。
私が言おうとしているのは、発行されたコマンドへのデバイス出力とエコーバックされたコマンドの両方が、生成されたプロセスの stdout の一部であるため、一方を他方から分離できるとは思わないということです。
考えてみると、エコーされたコマンドを表示しないように端末を構成できると思います...しかし、対話型端末を使用していない生成されたプロセスでそれを行う方法がわかりません。
方法が見つかったらお知らせください。方法があるかどうか知りたいです。