2つのスクリプトを1つにまとめる

2つのスクリプトを1つにまとめる

2つのスクリプトがあります。どちらのスクリプトも同じサーバー上にあります(サーバーA)

最初(サーバーA)他のサーバーとのSSH接続設定(サーバーB)、2番目のスクリプトを実行します。

例えば

*script1*
ssh $ipaddress var="$var1" "bash -s" < $script2

スクリプト2その後実行サーバーB

これを1つのスクリプトにまとめる方法はありますか?したがって、まずSSH接続を確立してから、残りのスクリプトを実行します。たとえば、次のようになります。

#!/bin/bash

#Make an SSH Connection to another server
ssh $ipaddress

#Now Execute the rest of the script
do stuff here . . .
and here . . .

答え1

ssh $ipaddress /bin/bash <<END
do stuff here . . .
and here . . .
END

答え2

script2ローカルディレクトリからの仮定

#!/bin/bash
if scp script2 $ipaddress:/tmp
then
   ssh $ipaddress /tmp/script2 "arg" >& /my/result.$ipaddress
   ssh $ipaddress rm /tmp/script2 
fi

追加の送料を支払うことになりますが、重要ではない場合(1つか2つではscript2ない場合)、おそらくそれほど価値があるでしょう。tailwc

関連情報