bash 环境变量和 shell env

问题描述 投票:0回答:1

我正在重新创建 bash shell 的项目中实现内置 env 和导出。我的 shell 中有

envp, t_env **envp
的副本,然后我修改它。

两者之间的概念区别是什么

export a
export a
? 为什么在第一种情况下我可以使用命令
export
而不是
env
看到它? 如何实现这个行为?

目前我的实现是使用flag来区分env和shell变量,但也许有更好的方法? 为什么还存在这个选项,设置变量没有值?

c bash
1个回答
0
投票

我相信在原始的 Bourne Shell 中,您无法在导出变量的同时分配变量。所以你必须分两步完成:

variable=value
export variable

后来把这些结合起来,就可以写了

export variable=value

但是为了兼容性,仍然允许原始的

export
没有分配

© www.soinside.com 2019 - 2024. All rights reserved.