如何抑制gcloud projects add-iam-policy-binding命令的冗长输出?
让gcloud projects add-iam-policy-binding仅返回操作结果的方案
方法1:使用--format="none"参数
该参数会关闭命令的正常详细输出,仅在操作失败时打印错误信息;若操作成功则无任何输出。你可以结合命令行退出码自定义成功/失败提示:
gcloud projects add-iam-policy-binding <gcp_project_id> --member=serviceAccount:<service_account_id> --role=<role_name> --format="none" if [ $? -eq 0 ]; then echo "操作成功" else echo "操作失败" fi
方法2:筛选输出内容
通过合并输出流并过滤关键字,仅保留成功提示或错误信息:
gcloud projects add-iam-policy-binding <gcp_project_id> --member=serviceAccount:<service_account_id> --role=<role_name> 2>&1 | grep -E "(Updated IAM policy|ERROR)"
方法3:利用退出码直接判断(脚本场景适用)
gcloud命令执行成功时退出码为0,失败时为非0,无需额外输出处理,直接在脚本里判断状态即可:
if gcloud projects add-iam-policy-binding <gcp_project_id> --member=serviceAccount:<service_account_id> --role=<role_name> --format="none"; then echo "绑定添加成功" else echo "绑定添加失败" fi
注意:--verbose=error仅控制日志的冗余级别,不会影响命令本身的操作结果输出,因此之前的尝试无效。
内容的提问来源于stack exchange,提问作者Purusottam
相关产品推荐
相关产品推荐

