按变量的生存周期来划分,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
比如要把/etc/apache/bin目录添加到PATH中,方法有三:
1.#PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效
2.#vi /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
3.#vi ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去
这种方法是针对用户起作用的
注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,那么编辑结束后执行source profile(source /etc/profile) 或 执行点命令 ./profile,PATH的值就会立即生效了。
这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
这样你就学会Linux系统下修改环境变量PATH路径的方法。
补充说明
工作环境设置文件
环境设置文件有两种:系统环境设置文件 和 个人环境设置文件
1.系统中的用户工作环境设置文件:
登录环境设置文件:/etc/profile
非登录环境设置文件:/etc/bashrc
2.用户个人设置的环境设置文件:
登录环境设置文件: $HOME/.bash_profile //这个是环境变量设置的地方
非登录环境设置文件:$HOME/.bashrc //这个是定义别名的地方
登录环境:指用户登录系统后的工作环境
非登录环境:指用户再调用子shell时所使用的用户环境
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)