将两个脚本合并为一个

将两个脚本合并为一个

我有两个脚本。两个脚本都位于同一服务器上(服务器A

第一个 (服务器A)与其他服务器建立 ssh 连接(服务器B),并执行第二个脚本,

例如

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

脚本2然后执行服务器B

有没有办法将这些组合到一个脚本中?因此,它将首先建立 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

您将支付额外的转账费用,但如果script2不是微不足道的(例如不仅仅是一个tailwc),那么它可能是值得的。

相关内容