ローカル マシンにスクリプトがあります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:~/$
また、リモート ホストのターミナルに移動するのではなく、ローカル ホストに留まりました。