env -0转储环境.但是如何加载呢?

gue*_*tli 6 bash env environment-variables

linux命令行工具env可以转储当前环境.

由于我想使用一些特殊字符env -0(每个输出行以0字节而不是换行结束).

但是如何再次加载这个转储呢?

Bash版本:4.2.53

che*_*ner 13

不要用env; use declare -px,以可重新执行的形式输出导出变量的值.

$ declare -px > env.sh
$ source env.sh
Run Code Online (Sandbox Code Playgroud)

这也为您提供了保存导出变量的可能性,这些变量env无法访问:只需使用declare -p(删除-x选项).


例如,如果您编写foo=$'hello\nworld',则env生成输出

foo=hello
world
Run Code Online (Sandbox Code Playgroud)

同时declare -px产生输出

declare -x foo="hello
world"
Run Code Online (Sandbox Code Playgroud)