env --null 介绍

Pet*_*ter 5 linux shell environment-variables env

我试图在 的帮助下在 Python 进程中提取环境变量env --null,它甚至适用于包含换行符的环境变量。

但是在某些机器上我收到了一个错误:

> env -0
env: invalid option -- '0'

> env --null
env: unrecognized option '--null'

> env --version
env (GNU coreutils) 6.12
Copyright (C) 2008 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)

论证是在哪个版本中引入的?是否有任何替代命令来提取环境?

cuo*_*glm 6

Option-0/--null于 28-10-2009 首次引入,并随 GNU coreutils 8.1 版一起发布。

如果您的 coreutils 太旧,您应该升级。或者你可以使用perl

perl -e '$ENV{_}="/usr/bin/env"; print "$_ => $ENV{$_}\0" for keys %ENV'
Run Code Online (Sandbox Code Playgroud)

正如@Stéphane Chazelas 在他的评论中指出的那样,上述方法不包括不包含 的环境字符串=、重复的环境变量或具有空名称的环境变量。

如果您使用的是 Linux,则可以使用(再次感谢 @Stéphane Chazelas):

cat /proc/self/environ
Run Code Online (Sandbox Code Playgroud)