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

标签 linux 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
猫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(即它来自管道)。无需循环。

关于linux - 循环退出并转到bash中的下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63826331/

相关文章:

linux - Debian 安装 : backup partition

mysql - 在 ssh 命令中设置 autocommit=0

bash - 使用sshpass循环时在哪里放置<< EOF?

linux - Nginx 负载均衡器为来自多个 WSGI 服务器的静态文件提供服务

linux - 带有任务变量的 ansible 调用处理程序

Linux - 查找文件夹更改时间是否大于 2 小时

linux - 使用 bash 编辑 linux 环境变量

Windows Git Bash - ulimit - 打开的文件太多

bash - 在 Bash 中,如何为 "export GREP_COLOR=' 1;3 2'; grep --color"编写别名或函数?

c++ - 当程序使用 sudo 运行时,ofstream 无法创建文件