如题所述
第1个回答 2016-03-23
但是如果采用这种方式对环境变量进行赋值的话,当重新启动操作系统或者重新启动这个会话的话,原先设置的环境变量就会丢失。也就是说,如果在shell会话中设置环境变量,这只对当前的会话有效。当系统工程师退出这个会话、下次重新登陆时,操作系统又会采用默认值。但是大部分时候系统工程师可能希望这些环境变量能够永久生效。此时就需要把这些环境变量定义在启动脚本中。
一、.profile与profile 的关系。
通常情况下,在为每个用户创建帐号的时候,操作系统会在这个用户帐号的主目录下面创建一个启动脚本(.profile)文件。默认情况下,这个账户的环境变量都是保存在这个文件中。也就是说,不同的用户有不同的启动脚本,可以设置不同的环境变量。不同用户之间的环境变量是不共享的。
但是在/etc目录下面还有一个profile文件。这个文件跟用户目录下的profile文件类似,也是一个启动脚本,也可以用来保存环境变量的设置。通常情况下,操作系统启动的时候,是先执行这个脚本文件,然后再去执行用户目录下的.profile脚本文件。那么这两个启动脚本文件,对于环境变量的设置有什么不同呢?在谈这个不同之前,大家先来回顾一下在Windows操作系统中设置环境变量的时候,有“用户环境变量”与“系统环境变量”的区别。在用户环境变量中设置的环境变量,只对这个用户有效。而在系统环境变量中设置的环境变量,在对登陆到这个操作系统的所有用户都有效。其实在Unix操作系统中,这个两个脚本文件对于环境变量的设置,跟Windows操作系统差不多。在/etc/profile中设置的环境变量,是所有用户在登陆时都必须采用的环境变量,就相当于Windows操作系统中的系统环境变量,供所有用户使用。而在用户主目录下的profile启动脚本,则只对当前用户有效,这相当于Windows操作系统中的用户环境变量。
一、.profile与profile 的关系。
通常情况下,在为每个用户创建帐号的时候,操作系统会在这个用户帐号的主目录下面创建一个启动脚本(.profile)文件。默认情况下,这个账户的环境变量都是保存在这个文件中。也就是说,不同的用户有不同的启动脚本,可以设置不同的环境变量。不同用户之间的环境变量是不共享的。
但是在/etc目录下面还有一个profile文件。这个文件跟用户目录下的profile文件类似,也是一个启动脚本,也可以用来保存环境变量的设置。通常情况下,操作系统启动的时候,是先执行这个脚本文件,然后再去执行用户目录下的.profile脚本文件。那么这两个启动脚本文件,对于环境变量的设置有什么不同呢?在谈这个不同之前,大家先来回顾一下在Windows操作系统中设置环境变量的时候,有“用户环境变量”与“系统环境变量”的区别。在用户环境变量中设置的环境变量,只对这个用户有效。而在系统环境变量中设置的环境变量,在对登陆到这个操作系统的所有用户都有效。其实在Unix操作系统中,这个两个脚本文件对于环境变量的设置,跟Windows操作系统差不多。在/etc/profile中设置的环境变量,是所有用户在登陆时都必须采用的环境变量,就相当于Windows操作系统中的系统环境变量,供所有用户使用。而在用户主目录下的profile启动脚本,则只对当前用户有效,这相当于Windows操作系统中的用户环境变量。