シェル スクリプトを実行して、別のホスト マシンで別のシェル スクリプトを実行しhost1
たいと考えています。同じためにsshする必要があります。申し訳ありませんが、私はこのスクリプトに少し慣れていませんshell1.sh
shell2.sh
host2
そう:
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 によってのシェルに転送され、最終的に実行されます。ssh
host2
これを行うことができます:
local.sh :
#!/bin/bash
hostname
whoami
ifconfig
次に、ローカル スクリプトを使用して、リモートで実行できます。
ssh host < local.sh
STDIN
リモート ホストのシェルは、ローカル シェル スクリプトで接続されます。