Linux系统中的export命令该如何理解?

Linux系统中的export命令该如何理解?

export用于声明一个环境变量:

export variable=value

该环境变量只在本进程和其子进程中可以访问。

如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个变量就会在整个系统运行期间都起作用。

如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。

如果在某一次运行中,手动export一个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

linux的桌面程序,是不读取个人目录下的~/.bash_profile等配置文件的,因此这些export的变量对用户桌面程序是没有意义的。

你说的登录,指的是shell的生命周期。