Swift51.com
麦子学院 头像
麦子学院  2017-08-27 22:50

Linux环境变量简述

回复:0  查看:2508  
本文和大家分享的主要是linux 环境变量相关内容,一起来看看吧,希望对大家 学习linux有所帮助。
  通俗的讲,环境变量就是告诉电脑 ( 实际是操作系统 ) 几个目录。这几个目录下存储几个执行文件,如前面显示的 /usr/bin 目录,大部分的系统命令都在这个目录下。
  当我们输入命令mkdir 时,系统就会在环境变量所代表的几个目录从前到后去查找,哪个里面有 mkdir 文件,然后去执行 mkdir 命令。
  系统中环境变量的名字是PATH ,其内容可通过下面的命令显示  ( 根据操作系统不同和配置不同,略有差别,但格式是统一的, : 分割的一堆路径 )
  $ echo $PATH
  /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
  所以如果我们想让自己的命令能被系统找到,就需要把命令所在的目录加到环境变量里面,怎么操作呢?
  加到环境变量的路径必须是全路径,全路径指以/ 开头或以 ~ 开头的路径。
  注意第一个 PATH 不含 $,  第二个 PATH $ 符号
  $ export PATH=$PATH:/home/ct
  $ echo $PATH
  /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ct
  所以在以后安装了新的软件,或者写了新的脚本后,都把软件的可执行程序和可执行的脚本所在的目录,加到环境变量里面就可以了。
  但是,在命令行中执行export ,对环境变量所做的修改,只对当前终端有效,退出后就无效了。为了使得这一操作长期有效,我们需要把这句话写入一个文件中,一个登陆服务器就会被自动读取的文件中。
  对于普通用户,在远程登录终端时,家目录下的~/.bash_profile ( 不是 ~/.bashrc) 会自动被读取,所以我们需要把 export 语句加入到这个文件中。
  这是我的 ~/.bash_profile 中的内容,主要是最后一行。可以连续的加入多个路径。
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  if [ -f ~/.bash_aliases ]; then
  . ~/.bash_aliases
  fi
  export PATH=$PATH:/home/ct:/home/bin:/home/soft/bowtie2/bin
  前面提到,系统查找命令的顺序是从环境变量的第一个目录到最后一个目录,在第一次碰到查询的命令后,就调用执行。假如系统存在一个python 命令,我们自己又安装了一个 python ( 假如在 /home/ct/anaconda/bin 目录下 ) ,如果我们想执行自己的 python 程序,就需要把 /home/ct/anaconda/bin 写在 $PATH 前面,如下
  注意 $PATH 的顺序
  $ export PATH=/home/ct/anaconda/bin:$PATH
至此,我们可以熟练使用环境变量来简化命令的输入过程了,因为如果没有环境变量,我们就得需要运行/home/ct/anaconda/bin/python 来运行 python 命令了
来源:Linux 公社