我正在使用 macOS。我printenv
对 感到困惑declare
。
重启后我立即运行这2个命令,无需任何其他后续设置。
printenv
输出
PWD=/Users/soplus
这是合理的,因为这是我的登录系统的用户名。
declare -xp
输出
declare -x PWD="/private/var/folders/78/ngsn15lj24s72n8hjnj4zkxr0000gn"
我猜这是由 vscode 设置的,我之前运行过“vscode interactive python”。
对于同一个环境变量,这两种设置有什么区别?
分别存储它们的配置文件在哪里?
答案1
printenv
是一个外部命令。它准确打印“环境变量”中的内容
declare
是 shell 内置的。它显示 shell 变量的设置。这些变量可能会或可能不会作为子进程的环境变量导出。
PWD 不是常规环境变量。每次执行命令时,shell 都会设置它cd
。可以“手动”将其设置为不相关的内容,但下一个cd
命令会将其重置。