本博客免费发布Selenium、Appium、RobotFramework自动化测试,Loadrunner、JMeter性能测试,接口测试等测试技术文章,欢迎大家持续关注,如遇到问题可留言或关注下方的微信公众号,或加入我们的QQ群,来这里分享经验、交流技术、结交朋友、拓展视野、一起奋斗!

环境变量,简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。设置变量对于一般人最实用的功能就是:不用拷贝某些dll文件到系统目录中了,而path这一系统变量就是系统搜索dll文件的一系列路径。

在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量 PATH 的设置问题,而 PATH的设置也是在linux下定制环境变量的一个组成部分。linux 查看环境变量与设置环境变量在使用过程中很常见,本文整理了一些常用的与环境变量相关的命令。

$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。

  编辑你的 PATH 声明,其格式为:

  PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:…:<PATH N>

  你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile

  需要注意的是,最好不要把当前路径 “./” 放到 PATH 里,这样可能会受到意想不到的攻击。完成后,可以通过 $ echo $PATH 查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于 shell 搜索的路径之外的程序了。

 

一、查看环境变量

(1)用 export 命令查看PATH值

 1 bogon:~ a1$ export
 2 declare -x HOME="/Users/a1"
 3 declare -x LOGNAME="a1"
 4 declare -x MAIL="/var/mail/a1"
 5 declare -x OBJC_DISABLE_INITIALIZE_FORK_SAFETY="YES"
 6 declare -x OLDPWD
 7 declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin"
 8 declare -x PWD="/Users/a1"
 9 declare -x SHELL="/bin/bash"
10 declare -x SHLVL="1"
11 declare -x SSH_CLIENT="10.144.33.72 60090 22"
12 declare -x SSH_CONNECTION="10.144.33.72 60090 10.144.24.130 22"
13 declare -x SSH_TTY="/dev/ttys001"
14 declare -x TERM="xterm"
15 declare -x TMPDIR="/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/"
16 declare -x USER="a1"

(2)单独查看PATH环境变量,可用echo $PATH

1 bogon:~ a1$ echo $PATH
2 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin

(3)用env命令显示所有的环境变量

 1 bogon:~ a1$ env
 2 TERM=xterm
 3 SHELL=/bin/bash
 4 TMPDIR=/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/
 5 SSH_CLIENT=10.144.33.72 60090 22
 6 SSH_TTY=/dev/ttys001
 7 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
 8 USER=a1
 9 MAIL=/var/mail/a1
10 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
11 PWD=/Users/a1
12 SHLVL=1
13 HOME=/Users/a1
14 LOGNAME=a1
15 SSH_CONNECTION=10.144.33.72 60090 10.144.24.130 22
16 _=/usr/bin/env

(4)用set命令显示所有本地定义的Shell变量

 1 bogon:~ a1$ set
 2 BASH=/bin/bash
 3 BASH_ARGC=()
 4 BASH_ARGV=()
 5 BASH_LINENO=()
 6 BASH_SOURCE=()
 7 BASH_VERSINFO=([0]="3" [1]="2" [2]="57" [3]="1" [4]="release" [5]="x86_64-apple-darwin17")
 8 BASH_VERSION='3.2.57(1)-release'
 9 COLUMNS=236
10 DIRSTACK=()
11 EUID=501
12 GROUPS=()
13 HISTFILE=/Users/a1/.bash_history
14 HISTFILESIZE=500
15 HISTSIZE=500
16 HOME=/Users/a1
17 HOSTNAME=bogon
18 HOSTTYPE=x86_64
19 IFS=$' \t\n'
20 LINES=56
21 LOGNAME=a1
22 MACHTYPE=x86_64-apple-darwin17
23 MAIL=/var/mail/a1
24 MAILCHECK=60
25 OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
26 OPTERR=1
27 OPTIND=1
28 OSTYPE=darwin17
29 PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
30 PIPESTATUS=([0]="0")
31 PPID=40148
32 PS1='\h:\W \u\$ '
33 PS2='> '
34 PS4='+ '
35 PWD=/Users/a1
36 SHELL=/bin/bash
37 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
38 SHLVL=1
39 SSH_CLIENT='10.144.33.72 60090 22'
40 SSH_CONNECTION='10.144.33.72 60090 10.144.24.130 22'
41 SSH_TTY=/dev/ttys001
42 TERM=xterm
43 TMPDIR=/var/folders/ny/n3gm1zvn43q_6cc900xdc59c0000gn/T/
44 UID=501
45 USER=a1
46 _=env

 

二、设置环境变量

(1)添加PATH环境变量(临时有效),在终端直接运行export命令定义变量

在shell的命令行下直接使用如下格式[export 变量名=变量值] 定义变量

1 [root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
2 
3 再次查看:
4 
5 [root@localhost u-boot-sh4]# echo $PATH
6 /opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明添加PATH成功。

上述方法的PATH 在终端关闭 后就会消失。

 

(2)在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】 

用vi在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。通常.bash_profile和.bashrc认为效果一样,也就是此处在.bashrc中增加环境变量也行。

例如:编辑guok用户目录(/home/guok)下的.bash_profile 

1 $ vi  /home/guok/.bash.profile 
2 添加如下内容: 
3 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

或者
#vim ~/.bashrc
 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。 

 

(3)在/etc/profile文件中添加变量【对所有用户生效(永久的)】 

 

用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 
例如:编辑/etc/profile文件,添加CLASSPATH变量 

1 $ vi  /etc/profile 
2 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。 

 

三、系统启动读取顺序

/etc/profile,/etc/bashrc 是系统全局环境变量设定 
~/.profile,~/.bashrc 用户家目录下的私有环境变量设定 
当登入系统时候获得一个shell进程时,其读取环境设定档有三步 :
1)、首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/profile.d和/etc/inputrc 。
2)、然后根据不同使用者帐号,去其根目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取 ~/.profile,这三个文档设定基本上是一样的,读取有优先关系 。其中,Unbutu默认没有~/.bash_profile文件,可新建。
3)、最后在根据用户帐号读取~/.bashrc 。

posted on 2018-08-23 14:40  慕城南风  阅读(2852)  评论(0编辑  收藏  举报

本博客免费发布Selenium、Appium、RobotFramework自动化测试,Loadrunner、JMeter性能测试,接口测试等测试技术文章,欢迎大家持续关注,如遇到问题可留言或关注左侧的微信公众号,或加入我们的QQ群,来这里分享经验、交流技术、结交朋友、拓展视野、一起奋斗!