我想要一个unix单行程序,它将输出当前执行环境作为
JSON结构,如:{“env-var”:“env-value”,… etc …}
这种方式有效:
(echo "{"; printenv | sed 's/\"/\\\"/g' | sed -n 's|\(.*\)=\(.*\)|"\1"="\2"|p' | grep -v '^$' | paste -s -d"," -; echo "}")
但有一些额外的行,如果环境值或变量中包含’=’或换行符,我认为不会有效.
宁愿纯粹的bash / sh,但紧凑的python / perl / ruby / etc单行也会受到赞赏.
使用jq 1.5(例如jq 1.5rc2 – 见
http://stedolan.github.io/jq):
$jq -n env