小编nar*_*iru的帖子

Bash 脚本数组概念

我有两个单独的列表。一个包含 1000 个主机名,另一个包含该主机的 1000 个关联 IP。我需要生成配置条目并推送到我的配置文件以添加我们监控环境下的所有主机。

    #!/bin/bash
    Enter the hostnames
    readarray hosts
    Enter the IP's
    readarray IP
Run Code Online (Sandbox Code Playgroud)

我应该如何在如下循环中一一迭代?我知道如何通过 using 迭代单个数组for i in "${hosts[@]}",但是在两个单独列表的情况下,如何实现迭代?

    echo -e "\nObject host \""$hosts"\"{"
    import = \""generic-service"\"
    address = \""$IP"\"
    group = \""Mom1-Ping"\" 
    "\n}" >> /etc/icinga2/zones.d/mom2/AP.conf
Run Code Online (Sandbox Code Playgroud)

第一个列表示例(列表 1):

sjc02-mfg-api01.example.com 
sjc02-mfg-api02.example.com
sjc02-mfg-api03.example.com
Run Code Online (Sandbox Code Playgroud)

多达 1000 台主机

第二个列表示例(列表 2):

10.20.2.22 
10.20.2.23 
10.20.2.24
Run Code Online (Sandbox Code Playgroud)

多达 1000 个 IP

预期输出:

     Object host "sjc02-mfg-api01.example.com" {
     import = "generic-service"
     address = "10.20.2.22"
     group = "Mom01-Ping"
     }

     Object host "sjc02-mfg-api02.example.com" {
     import = …
Run Code Online (Sandbox Code Playgroud)

array shell-script icinga2

3
推荐指数
1
解决办法
240
查看次数

标签 统计

array ×1

icinga2 ×1

shell-script ×1