如何读取json文件并在cli中创建环境变量?
我想读取aws凭据文件,并通过读取该文件动态创建aws keys环境变量 我需要这个,因为我有短期到期的aws凭证 所以每次我需要创建一组新的键,然后将其设置为env变量 我想要的是解析凭证文件并将其直接设置为env变量 我的凭证保存在json文件中 我使用“jq”通过命令解析json如何读取json文件并在cli中创建环境变量?,json,linux,macos,amazon-web-services,Json,Linux,Macos,Amazon Web Services,我想读取aws凭据文件,并通过读取该文件动态创建aws keys环境变量 我需要这个,因为我有短期到期的aws凭证 所以每次我需要创建一组新的键,然后将其设置为env变量 我想要的是解析凭证文件并将其直接设置为env变量 我的凭证保存在json文件中 我使用“jq”通过命令解析json cat credentials.json | jq.credentials.AccesskeyId cat credentials.json | jq.credentials.SecretKey 现在,我如何使用
cat credentials.json | jq.credentials.AccesskeyId
cat credentials.json | jq.credentials.SecretKey
现在,我如何使用输出来设置类似的值
export AWS\u ACCESS\u KEY=输出(cat credentials.json | jq.credentials.AccesskeyId)
要实现的语法如下:
export AWS_ACCESS_KEY_ID=$(cat credentials.json | jq .Credentials.AccesskeyId)
export AWS_SECRET_ACCESS_KEY=$(cat credentials.json | jq .Credentials.SecretKey)
我在
bash
和zsh
shell中测试了这一点。您想要实现的语法如下:
export AWS_ACCESS_KEY_ID=$(cat credentials.json | jq .Credentials.AccesskeyId)
export AWS_SECRET_ACCESS_KEY=$(cat credentials.json | jq .Credentials.SecretKey)
我在
bash
和zsh
shell中都测试了这个问题。考虑使用$()
echo$AWS\u ACCESS\u KEY\u ID,为我返回nulltypo错误,现在对我有效,请编辑一点答案,以便我可以对其进行表决,当前如果引号仍在ENV变量中,您可以在sed's/“//g”结尾处使用管道传输以下内容。因此导出AWS_ACCESS_KEY_ID=$(cat credentials.json | jq.credentials.AccesskeyId | sed's/“//g')请考虑使用$()
echo$AWS_ACCESS_KEY_ID,为我返回空键入错误,现在对我有效,请编辑一点答案以便我可以对其进行升级,目前,如果ENV变量中仍有引号,则可以在sed的//“//g”结尾处使用管道传输以下内容。因此,导出AWS_ACCESS_KEY_ID=$(cat credentials.json | jq.credentials.AccesskeyId | sed的//“//g”)