複数の SSH 経由でリモート サーバー上でローカル スクリプトを実行すると、スクリプトが複数行に分割されますか?

複数の SSH 経由でリモート サーバー上でローカル スクリプトを実行すると、スクリプトが複数行に分割されますか?

ローカル マシンにスクリプトがありますscript.sh。複数の ssh でのみアクセスできるリモート サーバーでスクリプトを実行したいと考えています。

スクリプト:

ls
ls
ls

私は試した:

user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh

しかし、出力は複数の行に分割されました:

user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls

また、リモート マシンのターミナルにアクセスせずにこれを実行したいと思います。

スクリプトを単一のコマンドとして実行するにはどうすればよいですか?

答え1

フラグを削除することでこの問題を修正でき-t、ssh によってリモート ホストのターミナルに移動されることがなくなりました。

user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh

出力:

examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$

また、リモート ホストのターミナルに移動するのではなく、ローカル ホストに留まりました。

関連情報