在 Bash 中将环境变量导出为 JSON

Dan*_*han 6 bash json environment-variables jq

bash中可以使用export或 来打印环境变量printenv,但是我们如何将输出转换为JSON格式,然后将它们存储在变量中。

ogu*_*ail 11

JQ 会为您完成此操作,并填充一个ENV用结果调用的内部变量,该变量可以存储在 shell 变量中,如下所示:

var=$(jq -n '$ENV')
Run Code Online (Sandbox Code Playgroud)

_而要从列表中删除、等垃圾变量SHLVL,可以使用 JQ 的del函数。

var=$(jq -n '$ENV | del(._, .SHLVL)')
Run Code Online (Sandbox Code Playgroud)

  • @DaniyalBasitKhan 对于 shell 脚本来说,将任意字符串转换为正确转义的 JSON 字符串并不是一项简单的任务。 (2认同)