简介环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将使用到的信息。Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环境都是相同的。这个默认环境就是一组环境变量的定义。每个用户都可以通过修改环境变量的方式对自己的运行环境进行配置。 分类根据环境变量的生命周期我们可以将其分为永久性变量和临时性变量,根据用户等级的不同又可以将其分为系统级变量和用户级变量。怎么分都无所谓,主要是对它的理解。 对所有用户生效的永久性变量(系统级)这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。 利用vim打开/etc/ profile文件,用export指令添加环境变量。 【注意】:添加完成后新的环境变量不会立即生效,除非你调用source /etc/profile 该文件才会生效。否则只能在下次重进此用户时才能生效。 对单一用户生效的永久性变量(用户级)该类环境变量只对当前的用户永久生效。也就是说假如用户A设置了此类环境变量,这个环境变量只有A可以使用。而对于其他的B,C,D,E….用户等等,这个变量是不存在的。 设置方法:在用户主目录”~”下的隐藏文件 “.bash_profile”中添加自己想要的环境变量。 可以看到我在上图中用红框框住了两个文件,.bashrc和.bash_profile。原则上来说设置此类环境变量时在这两个文件任意一个里面添加都是可以的。 ~/.bash_profile是交互式login方式进入bash shell运行。 二者设置大致相同。通俗点说,就是.bash_profile文件只会在用户登录的时候读取一次,而.bashrc在每次打开终端进行一次新的会话时都会读取。 临时有效的环境变量(只对当前shell有效)此类环境变量只对当前的shell有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。 设置方法:直接使用export指令添加。 设置环境变量常用的几个指令echo查看显示环境变量,使用时要加上符号“ export设置新的环境变量 修改环境变量修改环境变量没有指令,可以直接使用环境变量名进行修改。 env查看所有环境变量 set查看本地定义的所有shell变量 unset删除一个环境变量 readonly设置只读环境变量。 常用的几个环境变量(一般都为大写)PATH指定命令的搜索路径。通过设置环境变量PATH可以让我们运行程序或指令更加方便。 每一个冒号都是一个路径,这些搜索路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是内部命令,不是的话会再检查这个命令是否是一个应用程序。然后shell会试着从这些搜索路径,即PATH(上图中路径)中寻找这些应用程序。如果shell在这些路径目录里没有找到可执行文件。则会报错。若找到,shell内部命令或应用程序将被分解为系统调用并传给Linux内核。 举个例子: HOME指定用户的主工作目录,即为用户登录到Linux系统中时的默认目录,即“~”。 HISTSIZE指保存历史命令记录的条数。我们输入的指令都会被系统保存下来,这个环境变量记录的就是保持指令的条数。一般为1000。 这些历史指令都被保存在用户工作主目录“~”下的隐藏文件.bash_profile中。 我们可以通过指令history来查看。 LOGNAME指当前用户的登录名 HOSTNAME指主机的名称。 SHELL指当前用户用的是哪种shell LANG/LANGUGE和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 指当前用户的邮件存放目录 PS1命令提示符,root用户是#,普通用户是$ PS2附属提示符,默认是“ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|