You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq遍历JSON数组提取CodeCommit仓库名实现批量克隆?

问题原因

你当前使用的jq -r '.[]'只会把数组中的每个完整JSON对象逐行输出,没有单独提取repositoryName属性;同时你调用echo $REPOS时没有给变量加双引号,会导致JSON内容丢失换行符,引发jq解析异常。

修正方案

修改后的完整可用脚本如下:

REPOS=$(aws codecommit list-repositories)

echo "$REPOS" | jq -r '.[] | .repositoryName' | while read repo_name ; do
    # 替换<REGION>为你对应的AWS区域,如cn-northwest-1、us-east-2
    git clone https://git-codecommit.<REGION>.amazonaws.com/v1/repos/${repo_name}
    # 若使用SSH克隆,替换为如下格式即可
    # git clone ssh://git-codecommit.<REGION>.amazonaws.com/v1/repos/${repo_name}
done

适配默认AWS输出格式

如果你没有对AWS CLI的返回结果做过自定义裁剪,默认返回的JSON外层会包含repositories键,此时只需调整jq表达式即可:

echo "$REPOS" | jq -r '.repositories[] | .repositoryName' | while read repo_name ; do
    # 克隆逻辑同上
done

内容的提问来源于stack exchange,提问作者Milton Bertachini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 02:54:06