环境变量
环境变量(environment variables)一般指在操作系统总中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量用来配置操作系统或其他应用程序。
环境变量是操作系统的一个具有特定名字的对象,它包含一个或者多个应用程序所使用到的信息。
当要运行一个程序而没告诉它程序所在的完整路径时,系统会在当前目录下搜索该程序,其次就是到环境变量去找。
UBuntu环境变量那些事
大家用Ubuntu,肯定离不开命令行界面(command line interface)。命令行界面是我们与操作系统内核(kernel)交互的接口,这个命令行界面称为shell(英文意思:壳),壳在核外面,是不是很形象,提供外界与核的接口。
shell分为:
- 交互式shell与非交互式shell。交互式shell就是在终端,shell等待你的输入,并且立即执行你的命令,shell与用户交互,称为交互式shell;非交互shell以shell script方式执行,shell不直接与用户交互,而是读取shell script中的命令执行,当遇到EOF结束。
- 登录shell和非登录shell。用户登录时,输入用户名和密码后启动的shell,或通过带--login选项命令的启动的shell称为登录shell;登录以后打开的shell,例如通过
ctrl+alt+t打开的shell。
因为,我们使用ubuntu时,基本上都是在使用shell,所以shell的环境变量就十分重要了,它决定了我们运行命令能否成功。
shell环境变量
本地登录即在本机登录,远程登录即使用SSH等方式登录Linux服务器(对?)。
环境变量有三种:
- 局部环境变量:只对当前会话有效,未在任何配置文件中记录,并且通过一组特殊的命令创建和删除。
- 用户环境变量:为特定用户定义的变量,并且在每次用户使用本地终端会话时或用户使用远程登录会话时加载。这些变量通常设置在并从一下配置文件加载:
.bashrc,.bash_profile,.bash_login,.profile。这些文件存放于主目录。 - 系统环境变量:为系统所有用户可用的变量。这些变量存在于以下文件:
/etc/environment,/etc/profile,/etc/profile.d,/etc/bash.bashrc。这些变量在系统打开时加载。
.bashrc :用户特定的文件,每个用户不同。每次用户创建本地会话时加载,即简单的话,打开一个新的终端。在本文件中创建的所有环境变量将在每次启动新的本地会话时生效。
.bash_profile:此文件是用户特定的远程登录文件。每次用户远程登录时,即使用ssh会话,将调用此文件中列出的环境变量。
/etc/bash.bashrc:系统环境变量的配置文件。每次用户打开本地终端时,此文件加载一次。在此文件中创建的环境变量对所有用户可访问,但只能通过本地终端访问,远程会话不可见。
/etc/profile:系统环境变量的配置文件。在这文件中创建的环境变量对所有用户可访问,但前提是远程调用该用户的会话,即通过远程登录。此文件中的任何变量将无法访问本地会话,即本地终端。
!!!:创建环境变量可以通过直接在这些文件中添加更改。更改完成后要么注销要么使用source <filename>使更改生效。
设置和取消环境变量
1.设置用户环境变量
vi ~/.bashrc
按i进入插入模式,在.bashrc文件底部添加
export environment_path=/your/path:environment_path$
更新更改
source ~/.bashrc
要删除这个环境变量,直接将刚刚添加的行#注释掉或删除,在更新更改即可。
2.设置系统环境变量
方法同上,只是配置文件换成系统的配置文件即可。
参考资料
初入Linux海洋,有误请大佬提出!觉得不错,点个赞鼓励一下呗。