我正在重新创建 bash shell 的项目中实现内置 env 和导出。我的 shell 中有
envp, t_env **envp
的副本,然后我修改它。
两者之间的概念区别是什么
export a
和export a
?
为什么在第一种情况下我可以使用命令 export
而不是 env
看到它?
如何实现这个行为?
目前我的实现是使用flag来区分env和shell变量,但也许有更好的方法? 为什么还存在这个选项,设置变量没有值?
我相信在原始的 Bourne Shell 中,您无法在导出变量的同时分配变量。所以你必须分两步完成:
variable=value
export variable
后来把这些结合起来,就可以写了
export variable=value
但是为了兼容性,仍然允许原始的
export
没有分配