• shell环境变量以及set,env,export的区别


    一.shell环境变量的分类以及set env export的区别:

    set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样
    env:显示(设置)用户变量变量
    export:显示(设置)当前导出成用户变量的shell变量。
    举个例子来讲:

    $ aaa=bbb --shell变量设定
    $ echo $aaa
    bbb
    $ env| grep aaa --设置完当前用户变量并没有
    $ set| grep aaa  --shell变量有
    aaa=bbb
    $ export| grep aaa --这个指的export也没导出,导出变量也没有
    $ export aaa   --那么用export 导出一下
    $ env| grep aaa  --发现用户变量内存在了
    aaa=bbb

    总结:linux 分 shell变量(set),用户变量(env), shell变量包含用户变量,export是一种命令工具,是显示那些通过export命令把shell变量中包含的用户变量导入给用户变量的那些变量.

    二:使用unset命令来清除环境变量

    清除环境变量的值用unset命令。如果未指定值,则该变量值将被 设为NULL。注意set 、env 、export设置的变量,都可以用unset来清除的。
    示例如下:

    $ export TEST="Test..." #增加一个环境变量TEST   
    $ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了 
    TEST=Test...    
    $ unset $TEST #删除环境变量TEST    
    $ env|grep TEST #此命令没有输出,证明环境变量TEST已经不存在了

    三:使用readonly命令设置只读变量

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

    $ export TEST="Test..." #增加一个环境变量TEST   
    $ readonly TEST #将环境变量TEST设为只读   
    $ unset TEST #会发现此变量不能被删除     
    -bash: unset: TEST: cannot unset: readonly variable    
    $ TEST="New" #会发现此也变量不能被修改

     

     

     

     

  • 相关阅读:
    Python——学习笔记
    Ubuntu开发相关环境搭建
    解决联想R720双系统Ubuntu16.04的无线网卡开启问题及信号不稳定
    Win10环境下多JDK切换以及could not find java.dll异常解决
    Java——this关键字总结
    Java——多线程编程学习/01
    Python日常Bug集
    《集体智慧编程学习笔记》——Chapter2:提供推荐
    解决Pycharm无法显示matplotlib绘图问题
    Kettle启动时报错Cannot create java virtual machine & A java exception has occurred
  • 原文地址:https://www.cnblogs.com/bigcat814/p/2754989.html
Copyright © 2020-2023  润新知