• 环境变量说明


    在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。

    下面所有例子的环境说明如下:

    • 系统:CentOS 7 
    • 用户名:root
    • 需要配置JDK环境变量路径:/usr/java/jdk/bin

    一、读取环境变量

    读取环境变量的方法有两种:

    • export命令显示当前系统定义的所有环境变量
    • echo $PATH命令输出当前的PATH环境变量的值

    这两个命令执行的效果如下:

    [root@localhost ~]# export
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    declare -x HOSTNAME="localhost.localdomain"
    declare -x LANG="en_US.UTF-8"
    declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
    declare -x LOGNAME="root"
    declare -x LS_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:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=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:*.webm=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:"
    declare -x MAIL="/var/spool/mail/root"
    declare -x OLDPWD
    declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    declare -x PWD="/root"
    declare -x SELINUX_LEVEL_REQUESTED=""
    declare -x SELINUX_ROLE_REQUESTED=""
    declare -x SELINUX_USE_CURRENT_RANGE=""
    declare -x SHELL="/bin/bash"
    declare -x SHLVL="1"
    declare -x SSH_CLIENT="192.168.178.1 50667 22"
    declare -x SSH_CONNECTION="192.168.178.1 50667 192.168.178.10 22"
    declare -x SSH_TTY="/dev/pts/0"
    declare -x TERM="vt100"
    declare -x USER="root"
    declare -x XDG_RUNTIME_DIR="/run/user/0"
    declare -x XDG_SESSION_ID="2"
    [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    其中PATH变量定义了运行命令的查找路径,以冒号:分割不同的路径,使用export定义的时候可加双引号也可不加。

    二、环境变量配置方法

    1. 配置方法一:export PATH

    使用export命令直接修改PATH的值,配置JDK环境变量的方法:

    export PATH=/usr/java/jdk/bin:$PATH
    
    # 或者把PATH放在前面
    export PATH=$PATH:/usr/java/jdk/bin

    注意事项:

    • 生效时间:立即生效
    • 生效期限:当前终端有效,窗口关闭后无效
    • 生效范围:仅对当前用户有效
    • 配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置

    2. 配置方法二: vi ~/.bashrc

    通过修改用户目录下的~/.bashrc文件进行配置:

    vi ~/.bashrc
    
    # 在最后一行加上
    export PATH=$PATH:/usr/java/jdk/bin

    注意事项:

    • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
    • 生效期限:永久有效
    • 生效范围:仅对当前用户有效
    • 如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效

    3. 配置方法四:vi /etc/bashrc

    方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:

    # 如果/etc/bashrc文件不可编辑,需要修改为可编辑
    chmod -v u+w /etc/bashrc
    
    vi /etc/bashrc
    
    # 在最后一行加上
    export PATH=$PATH:/usr/java/jdk/bin

    注意事项:

    • 生效时间:新开终端生效,或者手动source /etc/bashrc生效
    • 生效期限:永久有效
    • 生效范围:对所有用户有效

    4. 配置方法五:vi /etc/profile

    该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vi /etc/bashrc类似:

    # 如果/etc/profile文件不可编辑,需要修改为可编辑
    chmod -v u+w /etc/profile
    
    vi /etc/profile
    
    # 在最后一行加上
    export PATH=$PATH:/usr/java/jdk/bin

    注意事项:

    • 生效时间:新开终端生效,或者手动source /etc/profile生效
    • 生效期限:永久有效
    • 生效范围:对所有用户有效

    三、注意事项

    1. 标准位置及非标注位置环境变量

    对于:“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。
    如果不在标准位置,文件名前面需要加上完整的路径。

    要想环境变量永久生效,需要配置文件。有两个文件可选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下的“.bash_profile”只对这个用户有效。

    “PATH=$PATH:路径1:路径2:...:路径n”,意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。那个“$PATH”表示原先设定的路径仍然有效,注意不要漏掉。某些软件可能还有“PATH”以外类型的环境变量需要添加,但方法与此相同,并且也需要注意“$”。

    2. 分隔符

    与DOS/Window不同,Linux类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。

    格式如下:
    # 软件名-版本号
       PATH=$PATH:路径1:路径2:...:路径n
       其他环境变量=$其他环境变量:...

    注:记得注销重启登录或刷新环境变量,使得配置生效。

  • 相关阅读:
    CAS简介
    Volatile的3大特性
    dsf对矩阵进行搜索
    JVM
    REST风格
    自定义Starters(自动配置Bean)
    反射和注解的原理
    mybatis的注解开发
    Java的多线程安全
    mybatis(3)
  • 原文地址:https://www.cnblogs.com/myitnews/p/12216585.html
Copyright © 2020-2023  润新知