首页 > 解决方案 > 使用多个数组的组合创建文本

问题描述

我有一些指标,比如route/api_1_test/POST/time/200.avgapi_1_test 是route, POST 是method, time 是metric_name, 200 是status_codeavg 是metric_type. 我有路由、方法、status_code 和 metric_type 的数组。我想使用以下文本创建一个包含所有可能的数组组合的配置文件

- name: finagle_route_<metric_name>
  path: $.route/<route>/<method>/<metric_name>/<status_code>.<metric_type>
  labels:
    route: <route>
    method: <method>
    status: <status_code>
    type: <metric_type>

我该如何为此编写一个 for 循环?

标签: bash

解决方案


#!/bin/bash

set -f

for route in $(<routes); do
    for method in $(<methods); do
        for name in $(<metric_names); do
            for code in $(<http_status_codes); do
                for type in $(<types); do
                    echo -e "- name: fingale_route_$name\n  path: \$.route/$route/$method/$name/$code.$type\n  labels:\n    status:$code\n    type:$type\n    method:$method\n    route:$route\n"
                done
            done
        done
    done
done

推荐阅读