zoukankan      html  css  js  c++  java
  • 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" #会发现此也变量不能被修改

     

     

     

     

  • 相关阅读:
    使用 Log4Net 记录日志
    NuGet安装和使用
    .NET Framework 4 与 .NET Framework 4 Client Profile
    “init terminating in do_boot” Windows10 Rabbit MQ fails to start
    Ubuntu / Win7 安装db2 v10.5
    Win7下的内置FTP组件的设置详解
    c/s模式 (C#)下Ftp的多文件上传及其上传进度
    C#路径/文件/目录/I/O常见操作汇总
    C# 遍历指定目录下的所有文件及文件夹
    Mongodb主从复制 及 副本集+分片集群梳理
  • 原文地址:https://www.cnblogs.com/bigcat814/p/2754989.html
Copyright © 2011-2022 走看看