循环退出并转到bash中的下一行

问题描述

我想将“配置文件”中的第一行迭代到“ arn”中的第一行,然后将第二行“ profile”迭代到“ arn”中的第二行,将“ profile”中的第三行迭代到“ arn”中的第三行

但是我的脚本检查了配置文件中的第一个文件,并循环了“ arn”文件中的所有内容。完成后,将到达“配置文件”中的下一行,并在“ arn”中循环所有内容

#!/bin/bash

for profile in `cat ../../.aws/config|grep 'profile'`
do
        for arn in `cat policy_arn`
        do
                 aws --profile ${profile} iam delete-policy  --policy-arn ${arn}
        done
done

cat policy_arn

arn:aws:iam::37928052:policy/PointPolicy
arn:aws:iam::56433041:policy/PointPolicy
arn:aws:iam::18225202:policy/PointPolicy
arn:aws:iam::908231278:policy/PointPolicy
arn:aws:iam::441043922:policy/PointPolicy
arn:aws:iam::227661653:policy/PointPolicy


个人资料

dev-ops
pro-ops
qc-ops 

输出

应该是

first loop arn=arn:aws:iam::37928052:policy/PointPolicy and profile=dev-ops
2. arn=arn:aws:iam::56433041:policy/PointPolicy profile=pro-ops
3. arn=arn:aws:iam::18225202:policy/PointPolicy profile=qc-ops

但是运行脚本时发生的是

dev-ops arn:aws:iam::37928052:policy/PointPolicy
dev-ops arn:aws:iam::56433041:policy/PointPolicy
dev-ops arn:aws:iam::18225202:policy/PointPolicy
dev-ops arn:aws:iam::908231278:policy/PointPolicy
dev-ops arn:aws:iam::441043922:policy/PointPolicy
dev-ops arn:aws:iam::227661653:policy/PointPolicy


pro-ops arn:aws:iam::37928052:policy/PointPolicy
pro-ops arn:aws:iam::56433041:policy/PointPolicy
pro-ops arn:aws:iam::18225202:policy/PointPolicy
pro-ops arn:aws:iam::908231278:policy/PointPolicy
pro-ops arn:aws:iam::441043922:policy/PointPolicy
pro-ops arn:aws:iam::227661653:policy/PointPolicy

qc-ops arn:aws:iam::37928052:policy/PointPolicy
qc-ops arn:aws:iam::56433041:policy/PointPolicy
qc-ops arn:aws:iam::18225202:policy/PointPolicy
qc-ops arn:aws:iam::908231278:policy/PointPolicy
qc-ops arn:aws:iam::441043922:policy/PointPolicy
qc-ops arn:aws:iam::227661653:policy/PointPolicy

我有40多个aws帐户,因此我将在策略arn应使用相同的配置文件帐户ID的同时为“配置文件”创建一个循环。

如何实现这样的输出。

解决方法

您可以执行以下操作:

grep 'profile' ../../.aws/config | paste - policy_arn

paste命令将两个文件作为列联接,这里我们使用-作为第一个文件名来表示它来自stdin(即它来自管道)。不需要循环。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...