(1)/etc/profile:该文件是用户登录时, *** 作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时 *** 作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到
~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。
1、系统位置,/etc目录下的bashrc、profile、environment三个文件2、用户目录(root或普通用户)下的.bashrc、.bash_profile两个文件,注意这两个文件前面都有点,是隐藏文件。
按变量的周期划为永久变量和临时性变量2种:
永久变量:通过修改配置文件,配置之后变量永久生效。
临时性变量:使用命令如export等命令设置,设置之后马上生效。当关闭shell的时候失效(这种主要用于测试比较多)。
按照影响范围分为用户变量和系统变量2种:
用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用;
系统变量(全局变量):影响范围是整个系统。
export命令显示当前系统定义的所有环境变量,运行返回结果如下:
echo $PATH命令输出当前的PATH环境变量的值,运行返回结果如下:
直接用export命令修改PATH值 (重启终端后配置失效)
export PATH=$PATH:/home/sphc/software/bin
该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。
该文件为当前用户配置文件,修改后,作用于当前用户的环境变量。
/etc/bashrc为系统环境配置文件,需要管理员权限(如root)或者对该文件的写入权限,修改后,作用于所有用户。
/etc/profile为系统全局配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。
/etc/environment为系统环境配置文件,需要管理员权限或者对该文件的写入权限,修改后,作用于系统下所有用户的环境变量。
Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1 永久的:需要修改配置文件,变量永久生效。
2 临时的:使用export命令声明即可,变量在关闭shell时失效。
设置变量的三种方法
1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
export CLASSPATH=./JAVA_HOME/lib$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
命令用法如下
$ cd (进入用户登陆目录)
$ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找)
$vi .bash_profile(用vi编辑.bash_profile)
vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/libJAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,
该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,
shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
环境变量的查看
1 使用echo命令查看单个环境变量。例如:
echo $PATH
2 使用env查看所有环境变量。例如:
env
3 使用set查看所有本地定义的环境变量。
使用unset删除指定的环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
export TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
unset TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除
常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
Linux下设置和查看环境变量
https://www.cnblogs.com/qiuhong10/p/7815943.html
Linux下修改.bash_profile 文件改变PATH变量的值
https://blog.csdn.net/u011323949/article/details/79045788
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)