点击返回 自学Linux命令行与Shell脚本之路

6.1-环境变量概念

环境变量

  • 在Linux中,很多程序和脚本都通过环境变量来获取系统信息、存储临时数据和配置信息;
  • bash shell使用环境变量来存储有关shell会话和工作环境信息;
  • 允许你在内存中存储数据,以便运行在shell的程序和脚本访问;
    是存储永久数据的一种简单方法,用来识别用户账户、系统、shell的特性,以及任何你需要存储的数据;
  • 在bash shell中,环境变量分为:
    全局变量:不仅对shell会话可见,对所有shell创建的子进程也可见;
    局部变量:只对创建它们的shell可见;

shell环境变量是所有shell程序都会接收的参数,shell程序运行时,都会接收一组变量,这组变量就是环境变量
常见的环境有:

  • PATH                       shell命令的搜索命令,以冒号为分隔符,包含一系列路径名
  • HEME                      用户home的路径名,也是cd命令的默认参数
  • HISTFILE                命令历史文件
  • HISTSIZE                命令历史文件中最多包含的命令条数
  • SHELL                    SHELL的路径名,即linux当前正在使用的shell

全局环境变量

  • Linux在你开始bash会话之前就设置了一些全局的环境变量;
  • 系统环境变量一律使用大写字母以区别普通用户的环境变量;
  • printenv命令查看全局环境变量,大部分都是系统在用户登录系统时设置的;
  • echo命令显示单个环境变量的值;
  • 在当前shell会话的子进程中也是可见的

局部环境变量

  • Linux系统也默认定义了标准局部环境变量;
  • set命令查看某个特定进程的所有环境变量,这也包含全局环境变量
    (通过printenv命令能看到的全局环境变量都出现在了set命令的输出中,但是set命令输出中还有一些其它的环境变量,这就是局部环境变量)

自学Linux Shell6.1-环境变量概念的更多相关文章

  1. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  2. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  3. Linux里设置环境变量的方法(export PATH)

    1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH ...

  4. [转]在Linux里设置环境变量的方法

    在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/a ...

  5. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

  6. linux配置java环境变量(转)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  7. linux配置java环境变量jdk jre(详细)【转】

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  8. linux下配置环境变量方式

    linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1. export JAVA_HOME PA ...

  9. Linux中PATH环境变量的作用和使用方法

    关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根 ...

随机推荐

  1. C#宣告一个变量

    在C#程序里,宣告一个变量,是件很容易的事情.如下面,宣告一个变量,并赋值: ; Console.WriteLine(type); bool type1 = false; Console.WriteL ...

  2. cssie7.0兼容

    http://www.w3dev.cn/article/20140328/IE7-float-left-touch-border-inner-break.aspx

  3. Luogu P2257 YY的GCD

    莫比乌斯反演第一题.莫比乌斯反演入门 数论题不多BB,直接推导吧. 首先,发现题目所求\(ans=\sum_{i=1}^n\sum_{j=1}^m [\gcd(i,j)=prime]\) 考虑反演,我 ...

  4. [Spark][Python]DataFrame select 操作例子

    [Spark][Python]DataFrame中取出有限个记录的例子 的 继续 In [4]: peopleDF.select("age")Out[4]: DataFrame[a ...

  5. 通用漏洞评估方法CVSS 3.0 计算公式及说明

    CVSS 3.0 计算公式及说明 一.基础评价 1. 基础评价公式为: 当 影响度分值 <= 0: 基础分值 = 0 当 0 < 影响度分值 + 可利用度分值 < 10: 作用域 = ...

  6. maven项目中 org.hibernate.MappingNotFoundException: resource:*.hbm.xml not found问题的解决方案

    是因为*.hbm.xml没有放到resource的mapper下导致的 对于Maven工程,编译的工作是由Maven程序来完成的,而Maven默认只会把src/main/resources文件夹下的文 ...

  7. NIO之缓冲区

    NIO引入了三个概念: Buffer 缓冲区 Channel 通道 selector 选择器 1.java.io优化建议 操作系统与Java基于流的I/O模型有些不匹配.操作系统要移动的是大块数据(缓 ...

  8. 止不住的裁员潮:看京东前员工吐槽——绩效打C还希望我好好干

    昨天,京东裁员消息被证实,京东将在2019年末位淘汰10%的副总裁级别以上的高管. 在互联网职场交流社区,一名自称京东的员工如此吐槽:办完离职了心情大好,自由放飞,明天入职新公司,你给新员工打C,还希 ...

  9. 个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感

    在进行了一次结对编程.一次团队编程和一次个人编程项目后,读了<No Silver Bullet: Essence and Accidents of Software Engineering> ...

  10. Linux安装的分区问题

    对于一般的外部SATA存储设备,在ubuntu中会显示在/etc/sd*中,例如: SATA1插槽上的文件名:/dev/sda SATA5插槽上的文件名:/dev/sdb USB磁盘:/dev/sdc ...