• CentOS 设置环境变量


    1、 查看环境变量,echo 命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”

    echo $PATH
    
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/java/jdk1.8.0_172/bin:
    /home/java/jdk1.8.0_172/jre/bin:/opt/modules/hadoop-3.1.0/bin:/opt/modules/hadoop-3.1.0/sbin:/home/es/.local/bin:/home/es/bin echo $SHELL /bin/bash

    echo $JAVA_HOME
    /home/java/jdk1.8.0_172

    2、如何了解有什么环境变量?env命令显示所有的环境变量,理解为全局变量

    env
    
    XDG_SESSION_ID=4
    HOSTNAME=bigdata-senior01.home.com
    SHELL=/bin/bash
    TERM=xterm
    HISTSIZE=1000
    HADOOP_HOME=/opt/modules/hadoop-3.1.0
    SSH_CLIENT=192.168.31.1 52492 22
    SSH_TTY=/dev/pts/1
    USER=es
    JRE_HOME=/home/java/jdk1.8.0_172/jre
    。。。

    常见的环境变量

    HOME  用户的主目录(即家目录)
    SHELL  用户在使用的 Shell 解释器名称
    HISTSIZE  输出的历史命令记录条数
    HISTFILESIZE  保存的历史命令记录条数
    MAIL  邮件保存路径
    LANG  系统语言、语系名称
    RANDOM  生成一个随机数字
    PS1  Bash 解释器的提示符
    PATH  定义解释器搜索用户执行命令的路径
    EDITOR  用户默认的文本编辑器

    3、set命令显示所有本地定义的Shell变量

    set
    
    BASH=/usr/bin/bash
    BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:histappend:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
    BASH_ALIASES=()
    BASH_ARGC=()
    BASH_ARGV=()
    BASH_CMDS=()
    BASH_LINENO=()
    BASH_SOURCE=()
    BASH_VERSINFO=([0]="4" [1]="2" [2]="46" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")
    BASH_VERSION='4.2.46(2)-release'
    CLASS_PATH=.:/home/java/jdk1.8.0_172/lib/dt.jar:/home/java/jdk1.8.0_172/lib/tools.jar:/home/java/jdk1.8.0_172/jre/lib
    COLUMNS=113
    DIRSTACK=()
    DISPLAY=localhost:11.0
    EUID=0
    GROUPS=()
    HADOOP_HOME=/opt/modules/hadoop-3.1.0
    ...

    4、export命令显示当前导出成环境变量的shell变量。

    export
    
    declare -x CLASS_PATH=".:/home/java/jdk1.8.0_172/lib/dt.jar:/home/java/jdk1.8.0_172/lib/tools.jar:/home/java/jdk1.8.0_172/jre/lib"
    declare -x DISPLAY="localhost:11.0"
    declare -x HADOOP_HOME="/opt/modules/hadoop-3.1.0"
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    declare -x HOSTNAME="bigdata-senior01.home.com"
    declare -x JAVA_HOME="/home/java/jdk1.8.0_172"
    declare -x JRE_HOME="/home/java/jdk1.8.0_172/jre"
    declare -x LANG="zh_CN.UTF-8"
    declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
    declare -x LOGNAME="es"
    ... ...

    5、export 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量

    设置一个新的环境变量hello

    export HELLO="hello centos7" echo $HELLO export设置环境变量只对当前登录的用户环境有效,登出后失效,也就是同一个用户从其他终端登录进来也是无效的,export的效力仅及于该次登陆操作。

    6、set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可

    declare -x将shell变量输出到环境变量
    declare -x hello="hello centos7" 然后用set可以看到hello变量

    用env | grep hello 查看

    7、unset命令删除环境变量

    unset hello

    env | grep hello 查询不到内容

    8、让环境变量永久有效

    使用修改 /etc/profile 文件进行环境变量的编辑,是对所有用户有用

    vi /etc/profile
    #set java environment
    JAVA_HOME=/home/java/jdk1.8.0_172
    JRE_HOME=/home/java/jdk1.8.0_172/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH

    #set Hadoop environment
    export HADOOP_HOME=/opt/modules/hadoop-3.1.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效
    使用修改.bashrc文件进行环境变量的编辑,只对当前用户有用。
    在用户目录下的.bash_profile文件中增加变量
    vi /home/es/.bash_profile
  • 相关阅读:
    Linux ALSA音频库(一) 交叉编译 详细说明
    在KEIL下查看单片机编程内存使用情况
    Linux Socket
    QT报错随手记
    Cortex-M3双堆栈MSP和PSP+函数栈帧
    Linux命令
    cdev_alloc与cdev_init区别
    一些编译报错
    SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录
    RTThread DFS文件系统使用: 基于使用SFUD驱动的SPI FLASH之上的ELM FATFS文件系统
  • 原文地址:https://www.cnblogs.com/asker009/p/10220649.html
Copyright © 2020-2023  润新知