Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取json文件并在cli中创建环境变量?_Json_Linux_Macos_Amazon Web Services - Fatal编程技术网

如何读取json文件并在cli中创建环境变量?

如何读取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 现在,我如何使用

我想读取aws凭据文件,并通过读取该文件动态创建aws keys环境变量

我需要这个,因为我有短期到期的aws凭证

所以每次我需要创建一组新的键,然后将其设置为env变量

我想要的是解析凭证文件并将其直接设置为env变量

我的凭证保存在json文件中

我使用“jq”通过命令解析json

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”)