![$PATH环境变量属于哪个进程?](https://linux22.com/image/191506/%24PATH%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%B1%9E%E4%BA%8E%E5%93%AA%E4%B8%AA%E8%BF%9B%E7%A8%8B%EF%BC%9F%20.png)
环境变量必须属于一个进程,对吗?似乎存在事实上的“全局”环境变量,例如 $PATH 和 $HOME。它们属于哪个进程?
答案1
没有单个 PATH 变量,并且它不属于单个进程。
每个进程都有一个环境,它由键值对列表组成。键通常被命名为“变量”。该export
命令列出了该环境。进程从其父进程继承其环境(在 UNIX 中,甚至在父进程死亡之前就可以继承。这不是很好吗?)。
例如,您可以将任何变量放入环境中export birthday="Jan 23"
,但有些变量对于 shell 有特殊含义,例如 HOME 或 PATH。其他变量对于某些程序有特殊含义;例如,请参阅环境部分在该命令的手册页中man
。
综上所述,每个进程都有PATH和HOME。