-1

シェル スクリプトを実行して、別のホスト マシンで別のシェル スクリプトを実行しhost1たいと考えています。同じためにsshする必要があります。申し訳ありませんが、私はこのスクリプトに少し慣れていませんshell1.shshell2.shhost2

そう:

host1$ sh shell1.sh ----ssh---->  host2$ shell2.sh
4

2 に答える 2

2

あなたの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

于 2012-10-19T19:06:41.137 に答える
1

これを行うことができます:

local.sh :

#!/bin/bash
hostname
whoami
ifconfig

次に、ローカル スクリプトを使用して、リモートで実行できます。

ssh host < local.sh

STDINリモート ホストのシェルは、ローカル シェル スクリプトで接続されます。

于 2012-10-19T19:27:03.343 に答える