zoukankan      html  css  js  c++  java
  • set,env和export命令显示shell变量其区别,与环境变量扫盲(一)

    种类:

      ♦ set     :  用来显示本地变量,显示当前shell的变量,包括当前用户的变量
      ♦ env    :  用来显示环境变量,显示当前用户的变量。
      ♦ export:  用来显示和设置环境变量, 显示当前导出成用户变量的shell变量

    解释:

      ♦每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量

    实例:

    [root@linux ~]# aaa=bbb
    
    [root@linux ~]# echo $aaa
    bbb
    
    [root@linux ~]# set|grep aaa
    aaa=bbb
    
    [root@linux ~]# env|grep aaa
    
    [root@linux ~]# export aaa
    
    [root@linux ~]# env|grep aaa
    aaa=bbb

    那我们再来科普一下环境变量:

    1.什么是环境变量:

    2.为什么要使用环境变量?

    3.常见的环境变量有哪些?

    1.什么是环境变量?

      ♦ Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境 变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

      ♦ 环境变量是一个具有 特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。许多用户(特别是那些刚接触Linux的新手)发现这些变量有些怪异或者难以控制。其 实,这是个误会:通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。

    2.为什么要使用环境变量?

      ♦在一些软件在启用是需要先启动启动文件,或者一些配置文件,这样如果配在环境变量里面了系统就能找到这些文件并进行使用了,就相当于我告诉系统我要用的这个东西在哪放着,要用的时候系统就会默认的从这个路径下面去取要用的东西。

    3.常见的环境变量有哪些?

      ♦ PATH 决定了shell将到哪些目录中寻找命令或程序 
      ♦ HOME 当前用户主目录 
      ◆ HISTSIZE是指保存历史命令记录的条数。

      ◆ LOGNAME是指当前用户的登录名。◆ HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

      ◆ SHELL是指当前用户用的是哪种Shell。

      ◆ LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

      ◆ MAIL是指当前用户的邮件存放目录。

      ◆ PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt  ”。

      ♦ Classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

  • 相关阅读:
    移动web图片高度自适应的解决方案
    高性能滚动 scroll 及页面渲染优化
    Web学习之跨域问题及解决方案
    apply和call用法
    ES6学习之箭头函数
    JS 对象封装的常用方式
    为Array对象添加一个去除重复项的方法
    最全的常用正则表达式大全
    前端如何实现图片懒加载(lazyload) 提高用户体验
    菜鸟教程 Missing parentheses in call to 'print'
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9096920.html
Copyright © 2011-2022 走看看