重新拟订原来的问题:
最终目标:
使用某种循环过程多次运行单个命令。
它需要的:
不重复myself
文件名:
要求在同一个命令中运行带有参数和变量的命令
SOME_COMMAND ARGS $VARIABLE_A ARGS $VARIABLE_B
DEPLOY_FILE_1指向
上面描述的相同的命令需要运行与DEPLOY_FILE_1中定义的行相同的次数。
DEPLOY_FILE_2:
,这是我到目前为止能想到的:
#!/bin/bash
set -x
KC_A=$(cat "/k8s-config/kubeconfig-A")
KC_B=$(cat "/k8s-config/kubeconfig-B)
def ARRAY_KC=(KC_A KC_B)
APP_A=$(cat "/tmp/configuration-files/testing-A-scale-down")
APP_B=$(cat "/tmp/configuration-files/testing-B-scale-down")
def ARRAY_APP=(APP_A APP_B)
CURRENT_NAMESPACE="alpha"
WAITING_PERIOD_BEFORE_NEXT_SCALE="2"
for i in "${$ARRAY_APP[@]}";
do
for j in "${$ARRAY_KC[@]}";
do
for k in "${$i[@]}";
do
kubectl --kubeconfig $j -n $CURRENT_NAMESPACE scale deploy $k --replicas=$REPLICASET_NUMBER
done
done
done备注:
希望这会更清楚一点。你能提供一些帮助吗?
发布于 2022-08-08 18:55:49
我觉得你把事情弄得太复杂了。
cat /tmp/configuration-files/testing-{A,B}-scale-down |
while IFS= read -r auth_factor; do
cat /k8s-config/kubeconfig-{A,B} |
while IFS= read -r name; do
SOME_COMMAND ARGS "$name" ARGS "$auth_factor"
done
done您可能想读https://mywiki.wooledge.org/BashFAQ/001。{A,B}只是https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html#Brace-Expansion的速记野兔。
https://stackoverflow.com/questions/73224503
复制相似问题