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

如何修改export.sh脚本,循环读取文本文件替换curl变量?

解决GitHub Runner中批量替换curl变量的脚本问题

你需要修改export.sh脚本中的curl命令,将读取到的auth0和roles变量正确替换到对应位置。原脚本未完成变量代入,以下是修改后的完整脚本:

while read -r auth0 && read -r roles <&3; do
    # 可选:输出当前处理信息,方便GitHub Runner日志排查
    echo "为用户 $auth0 分配角色 $roles"
    
    curl --request POST \
      --url "https://YOUR_DOMAIN/api/v2/users/$auth0/roles" \
      --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
      --header 'cache-control: no-cache' \
      --header 'content-type: application/json' \
      --data '{ "roles": [ "'"$roles"'" ] }'
done < final-user-id.txt 3<final-id.txt

修改说明:

  • URL部分:将原USER_ID替换为变量$auth0,并把URL的单引号改为双引号,让bash自动展开变量内容。
  • 请求体部分:将ROLE_ID替换为变量$roles,通过'"$roles"'的单双引号拼接方式,确保变量正确展开的同时维持JSON格式合法性。
  • 日志输出:添加echo语句可在GitHub Runner执行日志中查看每一步处理状态,便于问题排查。

注意事项:

  • 确保final-user-id.txt和final-id.txt行数完全一致,否则循环会在其中一个文件读取完毕后提前终止。
  • 在GitHub Runner环境中,需确认两个文件路径正确,可提前用ls命令验证文件是否存在。
  • 若需捕获curl执行失败的情况,可在curl命令后添加|| echo "为用户 $auth0 分配角色 $roles 失败"来记录错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:25:17