• linux 系统中 获取环境变量、 获取环境变量+自定义变量


    1、获取环境变量

    export

    env

    2、测试export 和 env:

    root@PC1:/home/test# ls
    root@PC1:/home/test# export > export.txt  ## 生成文件
    root@PC1:/home/test# ls
    export.txt
    root@PC1:/home/test# env > env.txt   ## 生成文件
    root@PC1:/home/test# ls
    env.txt  export.txt
    root@PC1:/home/test# head env.txt
    SHELL=/bin/bash
    window=100000
    LC_ADDRESS=zh_CN.UTF-8
    LC_NAME=zh_CN.UTF-8
    LC_MONETARY=zh_CN.UTF-8
    PWD=/home/test
    LOGNAME=root
    XDG_SESSION_TYPE=tty
    MOTD_SHOWN=pam
    HOME=/root
    root@PC1:/home/test# head export.txt
    declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
    declare -x DISPLAY=":0.0"
    declare -x HOME="/root"
    declare -x LANG="en_US.UTF-8"
    declare -x LC_ADDRESS="zh_CN.UTF-8"
    declare -x LC_IDENTIFICATION="zh_CN.UTF-8"
    declare -x LC_MEASUREMENT="zh_CN.UTF-8"
    declare -x LC_MONETARY="zh_CN.UTF-8"
    declare -x LC_NAME="zh_CN.UTF-8"
    declare -x LC_NUMERIC="zh_CN.UTF-8"
    root@PC1:/home/test# awk '{print $3}' export.txt | sed 's/"//g' | head
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
    DISPLAY=:0.0
    HOME=/root
    LANG=en_US.UTF-8
    LC_ADDRESS=zh_CN.UTF-8
    LC_IDENTIFICATION=zh_CN.UTF-8
    LC_MEASUREMENT=zh_CN.UTF-8
    LC_MONETARY=zh_CN.UTF-8
    LC_NAME=zh_CN.UTF-8
    LC_NUMERIC=zh_CN.UTF-8
    root@PC1:/home/test# awk '{print $3}' export.txt | sed 's/"//g' | sort > export2.txt  ## 保留两个文件的重合部分,排序
    root@PC1:/home/test# sort env.txt env2.txt
    sort: cannot read: env2.txt: No such file or directory
    root@PC1:/home/test# sort env.txt > env2.txt  ##排序
    root@PC1:/home/test# diff export2.txt env2.txt  ## 比较,发现两个变量实质内容是一样的,说明env和export都是生成环境变量的
    14,15c14,15
    < LESSCLOSE=/usr/bin/lesspipe
    < LESSOPEN=|
    ---
    > LESSCLOSE=/usr/bin/lesspipe %s %s
    > LESSOPEN=| /usr/bin/lesspipe %s
    25,26c25,26
    < SSH_CLIENT=192.168.3.4
    < SSH_CONNECTION=192.168.3.4
    ---
    > SSH_CLIENT=192.168.3.4 1392 22
    > SSH_CONNECTION=192.168.3.4 1392 192.168.3.106 22
    29a30
    > _=/usr/bin/env
    root@PC1:/home/test#

    3、declare 和 set获取环境变量和自定义变量

    测试:

    root@PC1:/home/test# ls
    root@PC1:/home/test# declare > declare.txt
    root@PC1:/home/test# ls
    declare.txt
    root@PC1:/home/test# set > set.txt
    root@PC1:/home/test# ls
    declare.txt  set.txt
    root@PC1:/home/test# diff declare.txt set.txt  ## 两者是一样的
    root@PC1:/home/test# wc -l *
      1684 declare.txt
      1684 set.txt
      3368 total

    4、自定义变量和 export 处理变量后的区别

    export处理后的变量是环境变量,相当于全局变量,在自进程中可见。

    自定变量相当于局部变量,仅在当前环境起作用

    测试:

    root@PC1:/home/test# ls
    root@PC1:/home/test# test_env=100   ##自定义变量
    root@PC1:/home/test# export | grep "test_env"  ## 在环境变量中无法检索到
    root@PC1:/home/test# declare | grep "test_env"  ## 可以在自定义变量中检索到
    test_env=100
    root@PC1:/home/test# export test_env2=200     ## 用export处理自定义变量
    root@PC1:/home/test# export | grep "test_env2"  ## 可以在环境变量中检索到,说明export的作用是将自定义变量升级为环境变量
    declare -x test_env2="200"
    root@PC1:/home/test# declare | grep "test_env2"  ## 也可以在自定义变量检索到
    _=test_env2=200
    test_env2=200

    参考:http://c.biancheng.net/linux/export.html

  • 相关阅读:
    Qt ‘/‘和‘\‘转化的方式
    Qt 快速转换路径(/斜杠与\反斜杠转换)
    Qt 网络编程:QNetworkAccessManager
    excel vba 单元格内部关键字突出显示改变颜色
    casbin 学习笔记【1】
    Linux
    AJAX
    Spring
    MyBatis
    Oracle查看表空间使用情况
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15805939.html
Copyright © 2020-2023  润新知