在Linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息。环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。也是存储持久数据的一种简便方法。在bash shell中,环境变量分为:全局和局部二类环境变量。

概述

全局环境变量

全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只是创建它们的shell可见。在linux系统中有系统环境变量,它们基本都是使用全大写字母,以区别普通用户的环境变量。要查看系统全局变量,可以使用env命令, 如下图所示:

要查看个别的环境变量的值,可以使用printenv命令, 如下图所示:

正如前面所说的,全局变量在所有生成的子shell都是可见的,下面是用子shell输出USER全局变量,如下所示:

局部环境变量

局部环境变量虽然是局部的,但和全局环境变量一样重要。在linux操作系统上有默认全局环境变量也有局部环境变量,用户也可以自定义局部变量。使用set 命令会显示某个指定进程下的所有环境变量,包括全局,局变,用户自定义变量。

用户自定义变量

自定义局部变量

下是自定义一个局部变量,使用echo来声明一个变量名my_variable,并赋值一个字符串(也可是数字)。然后再使用echo输出该变量的值。如下图所示:

要注意的点是:声明变量名时必须加$关键词, 赋值时不要加$关键词,输出时要加$关键词,也可以说使用echo时都要加$。变量名,等号,值三者之间不能有空格。如果变量值有空格时,必须加双引号。如下所示:

如果是在子shell中,那该变量就不存在,退回主线程还是存在,如下图所示:

自定义全局变量

设定了全局变量,在该进程所创建的子进程中,该变量都是可见的。创建全局变量的方法是先创建一个局部变量,然后导出到全局环境中。通过export来导出,变量名前面不加$。如下图所示:

在子shell中修改全局变量并不会影响到父shell中该变量的值。这种改变仅在子shell中有效。并不会反映到父shell中。如下图所示:

删除环境变量

要删除环境变量可以用unset命令,在unset引用变量名时,不要加$。

简述SHELL全局环境变量与局变环境变量相关推荐

  1. 1025.在线视频—shell脚本系列讲座(三)千机变—脚本变量

    shell脚本系列讲座有以下主题 (一)shell脚本与应用示例 (二)三剑客-文本处理 (三) 千机变-脚本变量 (四)向左向右-条件选择 (五)望山跑死马-循环 (六)脚本函数与任务调度 (七)脚 ...

  2. c语言变量ppt,C语言程序设计-变量.ppt

    <C语言程序设计-变量.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计-变量.ppt(14页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计,变量与表达式,变量, ...

  3. java基础变量_Java基础语法之变量和常量

    上行没有"{"时,下行代码与上行首字母对齐 标识符 概述 在Java中对变量.常量.函数和语句块都是有名字的,他们的名字统称为Java标识符.是为类.对象.方法.变量.接口和自定义 ...

  4. Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)

    1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...

  5. linux创建环境变量有什么用,环境变量和shell变量到底有什么区别呢?

    open-end 于 2007-06-02 21:21:10发表: 我们仍以BASH 为讨论的shell 语言 每一种编程语言中,我们都会碰到变量的作用域的问题.(比如在函数中定义的变量在函数外不能使 ...

  6. linux局部变量特殊字符替换,变量,全局变量,环境变量,特殊符号、管道符命令:cut、sort、uniq、wc、tee、tr、sp...

    变量 常见的变量: PATH:决定shell在哪些目录下寻找命令和程序: HOME:家目录: PWD:当前目录: LOGNAME:当前用户名称: env命令: 查看常见变量: HOSTNAME:表示主 ...

  7. linux 脚本 整数 赋值,shell基础!!熟悉编程规范与变量

    一.SHELL规范 SHELL简单介绍 Bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell.Bash 的全称为 Bourne Again Shell,是最受欢迎的开源软 ...

  8. Shell脚本编程--管道与重定向、自定义变量、特殊变量

    文章目录 shell脚本编程规范 管道与重定向 管道操作 重定向操作 Shell脚本变量 变量作用 变量的类型 变量的数据类型 自定义变量 赋值时使用引号 交互式为变量赋值read 设置变量的作用范围 ...

  9. linux环境变量设置 profile,Linux 环境变量 设置 etc profile

    一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要修改配置文件,变量永久生效. 2.临时的:使用export命令声明即可,变量在关闭shell时失效. 二. ...

最新文章

  1. 去除菜单项的加速键--‘’符号
  2. Flume(NG)架构设计要点及配置实践
  3. 阿里云控制台门户升级,V2.0 乘风破浪来了!
  4. 手动搭建一个Spring Boot项目
  5. 静态代码块与静态函数的执行顺序
  6. oc转java_OC和Java
  7. python多线程结束线程_Python线程– Python多线程
  8. VASP_Si的能带结构计算_步骤整理
  9. 弹出USB大容量存储设备时出问题“该设备正在使用中”
  10. 双线路接入(双网卡)
  11. 超火的微信渐变国旗头像,一键生成!!
  12. 使用POI提取Word文件的内容(纯文本、带html格式)
  13. Pygame实现小球躲避实例代码
  14. 2021年美容师(初级)考试内容及美容师(初级)模拟考试题
  15. 永不过时的优雅 KOREANO ESSENTIAL 2022秋冬系列全新上市
  16. Linux 管理面板云帮手、APPNODE与宝塔哪个好
  17. Web移动端Fixed布局的解决方案(原文出处:http://efe.baidu.com/blog/mobile-fixed-layout)
  18. 云蝠智能与华为云:是伙伴,更是一起逐梦的同路人
  19. DaVinci:HDR 调色
  20. 微信解除自定义表情150个上限?

热门文章

  1. Softmax和Cross-entropy是什么关系?
  2. 戴着口罩如何进行人脸识别?快进来看看吧!
  3. 人生和算法结合起来,你会不会比现在混得好?看完我明白了!
  4. Zookeeper源码分析:选举流程
  5. SKU表管理之保存SKU表数据
  6. 图片基础与tf.keras介绍
  7. ida pro学习笔记2022.3.19
  8. binary格式和ELF格式区别。用ida打开的样子
  9. 收藏 | 卷积神经网络中用1*1 卷积有什么作用或者好处呢?
  10. 使用 Python 的基于边缘和基于区域的分割