shell export 和 env 命令区别

4 min read

export 命令用于将一个变量标记为“导出变量”,这样该变量的值就会被传递给子进程。例如,以下命令会将环境变量 MY_VAR 标记为导出变量:

export MY_VAR=value

这样,当执行一个新的进程时,MY_VAR 环境变量的值也会被传递给该进程。

env 命令用于显示当前 shell 环境中的所有环境变量及其对应的值。例如,以下命令会列出当前 shell 环境中所有的环境变量和其对应的值:

env

env 命令还可以用于在当前 shell 环境中执行指定的命令,并设置指定的环境变量。例如,以下命令会在当前 shell 环境中以 LANG=C 的环境变量值来执行 ls 命令:

env LANG=C ls

因此,exportenv 命令的作用不同,不能互相替换使用。一般来说,export 用于将变量标记为导出变量,env 用于显示或修改环境变量。