尝试使用json对gcloud进行身份验证时出错

尝试使用json对gcloud进行身份验证时出错,json,docker,gcloud,Json,Docker,Gcloud,所以我有gcloud docker映像,希望通过映像使用gcloud,但我需要进行身份验证,我得到了这个错误 错误:(gcloud.auth.activate服务帐户)无法读取json文件凭据。json:无效的控制字符 这些是我正在使用的命令 echo-n“$GOOGLE_TOKEN”>/tmp/credentials.json -cat/tmp/credentials.json -gcloud auth activate服务帐户--密钥文件=/tmp/credentials.json 服务帐户

所以我有gcloud docker映像,希望通过映像使用gcloud,但我需要进行身份验证,我得到了这个错误

错误:(gcloud.auth.activate服务帐户)无法读取json文件凭据。json:无效的控制字符

这些是我正在使用的命令

echo-n“$GOOGLE_TOKEN”>/tmp/credentials.json
-cat/tmp/credentials.json
-gcloud auth activate服务帐户--密钥文件=/tmp/credentials.json

服务帐户json在其他应用程序上也可以使用。

“echo”不可移植。在某些情况下,默认情况下它不会\X退出处理。这取决于系统和/或外壳变型和/或外壳版本。使用printf而不是“echo-n…”:


printf'%s'$GOOGLE\u令牌“

在您的案例中,$GOOGLE\u令牌是什么?它是access/refresh令牌吗?它是服务帐户json@Cherba的系统环境变量,错误看起来不像
凭据。json
是有效的json文件。以下内容是否打印此文件的内容:
python-c“导入json;打印(json.load(open('/tmp/credentials.json'))”
并且输出中是否有
'client\u id':…
。@cherba看起来json中的/n不喜欢echo,因此它成为未经授权的字符,因此我通过在每个/n处放置//来修复它