SSHポートフォワーダ(sdout / stderr)の出力キャプチャ

SSHポートフォワーダ(sdout / stderr)の出力キャプチャ

次のエラーを変数に保存したいと思います。

ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server

muxserver_listen bind(): No such file or directory

だから私は次のことを試しました。

result="$(ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server)"

しかし、これはbashを中断します。nohup ... &"-f"の代わりに "-T"を使用または使用せずに試しましたが、何も機能しませんでした。

一時ファイルが利用可能であることを知っていますが、$(...) > file実際にはメモリ内ソリューションを好みます。どんな提案がありますか?

答え1

tmpファイルにリダイレクトします。

ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server 2> /tmp/tunnel.err 1> /tmp/tunnel.out

ERROUT=$(cat /tmp/tunnel.err)と でファイルを確認します。STDOUT=$(cat /tmp/tunnel.out)

関連情報