博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux环境变量的设置和查看方法
阅读量:5921 次
发布时间:2019-06-19

本文共 9615 字,大约阅读时间需要 32 分钟。

L​i​n​u​x​环​境​变​量​的​设​置​和​查​看​方​法

1. 显示环境变量HOME

  

[root@AY1404171530212980a0Z ~]# echo $HOME/root

 

2. 设置一个新的环境变量hello

   

[root@AY1404171530212980a0Z ~]# export staticFile='/alidata/www/static/frame'[root@AY1404171530212980a0Z ~]# echo $staticFile/alidata/www/static/frame

 

3. 使用env命令显示所有的环境变量

 

[root@AY1404171530212980a0Z ~]# envHOSTNAME=AY1404171530212980a0ZTERM=vt100SHELL=/bin/bashHISTSIZE=1000SSH_CLIENT=14.18.25.250 46163 22SSH_TTY=/dev/pts/0JRE_HOME=/usr/local/java/jdk1.7.0_55/jreUSER=rootLS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:MAIL=/var/spool/mail/rootPATH=/usr/local/java/jdk1.7.0_55/bin:/usr/local/java/jdk1.7.0_55/jre/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/alidata/server/mysql/bin:/alidata/server/nginx/sbin:/alidata/server/php/sbin:/alidata/server/php/bin:/root/binstaticFile=/alidata/www/static/framePWD=/rootJAVA_HOME=/usr/local/java/jdk1.7.0_55LANG=zh_CN.GB18030SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassHISTCONTROL=ignoredupsSHLVL=1HOME=/rootLANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CNLOGNAME=rootCLASSPATH=.:/usr/local/java/jdk1.7.0_55/lib:/usr/local/java/jdk1.7.0_55/jre/lib:SSH_CONNECTION=14.18.25.250 46163 115.29.201.6 22LESSOPEN=|/usr/bin/lesspipe.sh %sG_BROKEN_FILENAMES=1_=/bin/env

 

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

   

[root@AY1404171530212980a0Z ~]# setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepathBASH_ALIASES=()BASH_ARGC=()BASH_ARGV=()BASH_CMDS=()BASH_LINENO=()BASH_SOURCE=()BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")BASH_VERSION='4.1.2(1)-release'CLASSPATH=.:/usr/local/java/jdk1.7.0_55/lib:/usr/local/java/jdk1.7.0_55/jre/lib:COLORS=/etc/DIR_COLORSCOLUMNS=157DIRSTACK=()EUID=0GROUPS=()G_BROKEN_FILENAMES=1HISTCONTROL=ignoredupsHISTFILE=/root/.bash_historyHISTFILESIZE=1000HISTSIZE=1000HOME=/rootHOSTNAME=AY1404171530212980a0ZHOSTTYPE=x86_64ID=0IFS=$' \t\n'JAVA_HOME=/usr/local/java/jdk1.7.0_55JRE_HOME=/usr/local/java/jdk1.7.0_55/jreLANG=zh_CN.GB18030LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CNLESSOPEN='|/usr/bin/lesspipe.sh %s'LINES=67LOGNAME=rootLS_COLORS=rs=0:di=01MACHTYPE=x86_64-redhat-linux-gnuMAIL=/var/spool/mail/rootMAILCHECK=60OPTERR=1OPTIND=1OSTYPE=linux-gnuPATH=/usr/local/java/jdk1.7.0_55/bin:/usr/local/java/jdk1.7.0_55/jre/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/alidata/server/mysql/bin:/alidata/server/nginx/sbin:/alidata/server/php/sbin:/alidata/server/php/bin:/root/binPIPESTATUS=([0]="0")PPID=13480PS1='[\u@\h \W]\$ 'PS2='> 'PS4='+ 'PWD=/rootSHELL=/bin/bashSHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitorSHLVL=1SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassSSH_CLIENT='14.18.25.250 46163 22'SSH_CONNECTION='14.18.25.250 46163 115.29.201.6 22'SSH_TTY=/dev/pts/0SUPPORTED=zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:enTERM=vt100UID=0USER=root_=clearcolors=/etc/DIR_COLORSstaticFile=/alidata/www/static/frame__udisks () {     local IFS='';    local cur="${COMP_WORDS[COMP_CWORD]}";    if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; then        COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));    else        if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; then            COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));        else            if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; then                COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));            else                if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; then                    COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));                else                    if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; then                        COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));                    else                        if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; then                            COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));                        else                            if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then                                _filedir || return 0;                            else                                if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; then                                    COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));                                else                                    if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; then                                        COMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));                                    else                                        COMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));                                    fi;                                fi;                            fi;                        fi;                    fi;                fi;            fi;        fi;    fi}

 

5. 使用unset命令来清除环境变量

  set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

  $ export TEST="Test..." #增加一个环境变量TEST

  $ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

  TEST=Test...

  $ unset TEST #删除环境变量TEST

  $ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

 

[root@AY1404171530212980a0Z ~]# echo $TEST[root@AY1404171530212980a0Z ~]# export TEST='test'[root@AY1404171530212980a0Z ~]# env |grep TESTTEST=test[root@AY1404171530212980a0Z ~]# unset TEST[root@AY1404171530212980a0Z ~]# env |grep TEST[root@AY1404171530212980a0Z ~]#

 

6. 使用readonly命令设置只读变量

  如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

  $ export TEST="Test..." #增加一个环境变量TEST

  $ readonly TEST #将环境变量TEST设为只读

  $ unset TEST #会发现此变量不能被删除

  -bash: unset: TEST: cannot unset: readonly variable

  $ TEST="New" #会发现此也变量不能被修改

  -bash: TEST: readonly variable

[root@AY1404171530212980a0Z ~]# echo $TESTreadonly[root@AY1404171530212980a0Z ~]# readonly TEST[root@AY1404171530212980a0Z ~]# unset TEST-bash: unset: TEST: cannot unset: readonly variable[root@AY1404171530212980a0Z ~]# $TEST=-bash: readonly=: command not found[root@AY1404171530212980a0Z ~]#

 

  环境变量的设置位于/etc/profile文件

  如果需要增加新的环境变量可以添加下属行

  export path=$path:/path1:/path2:/pahtN

 


 

1.Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:

  1.1 永久的:需要修改配置文件,变量永久生效。

  1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。

 

2.设置变量的三种方法

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

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

  例如:编辑/etc/profile文件,添加CLASSPATH变量

  # vi /etc/profile

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

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

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

  用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

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

  $ vi /home/guok/.bash.profile

  添加如下内容:

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

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

2.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

  在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量  也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

 

2.4 在/etc/profile.d 目录下新建一个可读文件

如:

# vi /etc/profile.d/commons.shexport STATIC_FILE=/alidata/www/static/frame/export CLUSTER_CLASSES=/alidata/server/tomcat/apache-tomcat-7.0.53-cluster-1/webapps/frame/WEB-INF/classesexport CLUSTER_PATH=/alidata/server/tomcat/apache-tomcat-7.0.53-cluster-1/export BACKEND_PATH=/alidata/server/tomcat/apache-tomcat-7.0.53-backend/export BACKEND_CLASSES=/alidata/server/tomcat/apache-tomcat-7.0.53-backend/webapps/backend/WEB-INF/classes

 

 

3.环境变量的查看

 3.1 使用echo命令查看单个环境变量。例如

  echo $PATH

 3.2 使用env查看所有环境变量。例如:

  env

 3.3 使用set查看所有本地定义的环境变量。

  unset可以删除指定的环境变量。

 3.4.常用的环境变量

  PATH 决定了shell将到哪些目录中寻找命令或程序

  HOME 当前用户主目录

  HISTSIZE 历史记录数

  LOGNAME 当前用户的登录名

  HOSTNAME 指主机的名称

  SHELL   当前用户Shell类型

  LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

  MAIL   当前用户的邮件存放目录

  PS1   基本提示符,对于root用户是#,对于普通用户是$

 

 

转载地址:http://wwivx.baihongyu.com/

你可能感兴趣的文章
链接服务器创建
查看>>
linux目录和用户的权限
查看>>
软考中高项学员:2016年3月7日作业
查看>>
冒泡排序 直接排序 学习笔记
查看>>
Linux服务器---apache配置文件
查看>>
批量增加域用户并设置为漫游用户
查看>>
LVS+DR源码安装
查看>>
2012年度IT博客大赛50强报道:黄荣生
查看>>
YII2中如何自定义全局函数
查看>>
ubuntu 启动遭遇 no such partition grub rescue>处理方法
查看>>
我的友情链接
查看>>
1.3-top动态查看负载
查看>>
我的友情链接
查看>>
PowerShell签名和执行策略
查看>>
百度云推送资料
查看>>
oracle10gr2 rac crs无法启动,CRS-1604:CSSD 表决文件脱机
查看>>
C++ - CString 用法
查看>>
Java多线程学习(七)并发编程中一些问题
查看>>
python语言的应用领域有哪些?
查看>>
Linux下配置用msmtp和mutt发邮件
查看>>