ループを中断することなく、リモートシステムのループ内で実行されるコマンドの出力(sshを介して)をローカルシステムにどのようにリダイレクトできますか?

ループを中断することなく、リモートシステムのループ内で実行されるコマンドの出力(sshを介して)をローカルシステムにどのようにリダイレクトできますか?

Ubuntu 20.04 PCでパイプされたsshコマンドを実行し、sshを介してリモートシステムに接続し、特定のポートでリッスンし、各着信メッセージを次のように処理しています。

ssh ${iotlab_ssh_front_end} "nc m3-${sink_m3} 20000 | \
while read line
do 
    seq_num=\$(cut -d';' -f2 <<< \$line)   #splits the line and stores the 2nd element
done"

今私が望むのは、私が保存した変数を使用して(ループの各繰り返しごとに)ローカルで(sshの内部ではなく)コマンドを実行することです。私はループを終了したくありません。

このような:

ssh ${iotlab_ssh_front_end} "nc m3-${sink_m3} 20000 | \
while read line
do 
    seq_num=\$(cut -d';' -f2 <<< \$line)
    mosquitto_pub -t 'test/topic' -m \$seq_num      #Need to run this locally on my PC
done"

これを達成する簡単な方法はありますか?どんな助けでも大変感謝します。ありがとうございます!

ベストアンサー1

おすすめ記事