このリンクに出くわしました: Bash から呼び出された Expect スクリプトの終了ステータス コードですが、役に立ちませんでした。リモートで実行されるコマンドから終了ステータス コードを取得しようとしていたときに、"collect_exit_code" および "last_exit_code" メソッドを持つ Net::SSH::Expect 0.08 の cpan ドキュメントに出会いました。現在使用していますが、1.09 を実行しているときに適切な代替品を見つけることができません。
次のように、シンプルに保ちたいと思います。
$ssh_devel_exp->collect_exit_code(1);
$ssh_devel_exp->send("sudo make");
if ($ssh_devel_exp->last_exit_code()) { etc. and so forth... };
しかし、Net Expect を介してコマンドを実行するときに、これらのような方法を使用せずに終了ステータスを取得する簡単な方法を思いつきません。
Fabric への切り替えがこの問題の解決策になるとは思いません。これは perl アプリケーションであり、Perl に固執する必要があります。
前もって感謝します。