环境变量是什么,看到一种从编程角度的解释,环境变量就是程序运行时的全局变量。有些道理,先记着。另外,从用户的角度讲,环境变量是一组按照当前用户的运行要求设置的变量。
变量都是有生存周期的,所以Linux中环境变量也分为两种:临时变量与永久变量。
临时变量可以通过expor命令导入,在当前shell关闭后(对应实际ubuntu系统就是关闭Terminal吧)即失效。
永久变量就是通过直接修改配置文件的方法。但是个人经过查看实例后发现,修改添加的代码是:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
还是利用了export命令。可以理解为,系统在启动时会加载参数执行命令,加了这一句,每次启动都执行,每次都会生成这个变量,相当于就是永久变量了。
目前用的最多的linux系统就是ubuntu了,所以具体到系统还是看看ubuntu的环境变量吧。系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。
用户环境变量通常被存储在下面的文件中:
- ~/.profile
- ~/.bash_profile 或者 ~./bash_login
- ~/.bashrc
系统环境变量一般保存在下面的文件中:
- /etc/environment
- /etc/profile
- /etc/bash.bashrc
然后根据能搜到的常见例子,大家推荐的添加永久变量的方法都是,修改系统环境变量的/etc/profile 或 系统环境变量的/etc/bash.bashrc 或 用户环境变量的~/.bash_profile。个人只使用过修改系统环境变量的/etc/profile,但是各种方法应该都行吧。
最后添加一下搜到的常用环境变量。
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
PS2 附属提示符,默认是“>”