小编Avi*_*ión的帖子

在 shell 脚本上使用变量循环 for

我有以下脚本,它使用密钥通过 SSH 连接到服务器,并在那里制作了很多东西。

#!/usr/bin/env bash

ssh -i mykey.pem myuser@SERVER_IP << 'ENDSSH'
[A LOT OF STUFF]
ENDSSH
Run Code Online (Sandbox Code Playgroud)

(我用它运行它sh scriptname.sh

现在我想以同样的另一台服务器,所以我到SSH到两个不同的服务器(ip_1ip_2)有两个不同的.pem文件(mykey1.pemmykey2.pem)。

到目前为止,我知道如何按如下方式循环 ip:

#!/usr/bin/env bash

ip_list="ip_1 ip_2"

for ip in $ip_list; do
ssh -i mykey.pem myuser@$ip << 'ENDSSH'
[A LOT OF STUFF]
ENDSSH
done
Run Code Online (Sandbox Code Playgroud)

但现在我也想循环以获得正确的 pem 文件。我该如何存档?也许还有另一个清单?有人可以为我提供一个优雅的解决方案吗?

  • ip_1 应该使用 mykey1.pem
  • ip_2 应该使用 mykey2.pem

提前致谢

shell ssh shell-script

3
推荐指数
2
解决办法
361
查看次数

标签 统计

shell ×1

shell-script ×1

ssh ×1