シェル スクリプトを実行して、別のホスト マシンで別のシェル スクリプトを実行しhost1たいと考えています。同じためにsshする必要があります。申し訳ありませんが、私はこのスクリプトに少し慣れていませんshell1.shshell2.shhost2
そう:
host1$ sh shell1.sh ----ssh----> host2$ shell2.sh
あなたのshell1.sh:
#!/bin/sh
ssh host2 '/bin/sh /path/to/shell2.sh'
そして、shell2.shファイルがオンになっていない場合host2:
#!/bin/sh
ssh host2 < /path/to/shell2.sh
ssh最初の選択肢では、リモート マシンで実行するコマンドとして解釈される 2 番目の引数に渡します。
からman ssh:
コマンドが指定されている場合、ログイン シェルの代わりにリモート ホストで実行されます。
2 番目のスクリプトでは、コマンドがstdin を介しshell2.shてコマンドに渡され、 stdin によってのシェルに転送され、最終的に実行されます。sshhost2
これを行うことができます:
local.sh :
#!/bin/bash
hostname
whoami
ifconfig
次に、ローカル スクリプトを使用して、リモートで実行できます。
ssh host < local.sh
STDINリモート ホストのシェルは、ローカル シェル スクリプトで接続されます。