3.20 什么是环境变量,Linux环境变量有哪些?

变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。

值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。

我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量,执行命令如下:

[root@localhost ~]# env
ORBIT_SOCKETDIR=/tmp/orbit-root
HOSTNAME=livecd.centos
GIO_LAUNCHED_DESKTOP_FILE_PID=2065
TERM=xterm
shell =/bin/bash
......

Linux 系统能够正常运行并且为用户提供服务,需要数百个环境变量来协同工作,但是,我们没有必要逐一学习每个变量,这里给大家列举了 10 个非常重要的环境变量,如表 1 所示。

环境变量名称 作用 HOME 用户的主目录(也称家目录) SHELL 用户使用的 Shell 解释器名称 PATH 定义命令行解释器搜索用户执行命令的路径 EDITOR 用户默认的文本解释器 RANDOM 生成一个随机数字 LANG 系统语言、语系名称 HISTSIZE 输出的历史命令记录条数 HISTFILESIZE 保存的历史命令记录条数 PS1 Bash解释器的提示符 MAIL 邮件保存路径

Linux 作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的环境变量会因为用户身份的不同而具有不同的值。

例如,使用下述命令来查看 HOME 变量在不同用户身份下都有哪些值:

[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# su - user1 <--切换到 user1 用户身份 [user1@localhost ~]$ echo $home home < code></--切换到>

这里的 su 命令可以临时切换用户身份,此命令的具体用法会在后续章节做详细介绍。

其实,环境变量是由固定的变量名与用户或系统设置的变量值两部分组成的,我们完全可以自行创建环境变量来满足工作需求。例如,设置一个名称为 WORKDIR 的环境变量,方便用户更轻松地进入一个层次较深的目录,执行命令如下:

[root@localhost ~]# mkdir /home/work1
[root@localhost ~]# WORKDIR=/home/work1
[root@localhost ~]# cd $WORKDIR
[root@localhost work1]# pwd
/home/work1

但是,这样的环境变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。如果工作需要,可以使用 export 命令将其提升为全局环境变量,这样其他用户就可以使用它了:

[root@localhost work1]# su user1 <-- 切换到 user1,发现无法使用 workdir 自定义变量 [user1@localhost ~]$ cd $workdir echo exit <--退出user1身份 [root@localhost work1]# export su user1 work1]$ pwd home work1 < code></-->

Original: https://www.cnblogs.com/qinlulu/p/16227671.html
Author: 开源Linux
Title: 3.20 什么是环境变量,Linux环境变量有哪些?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583350/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 外键约束问题:django.db.utils.IntegrityError: (1215, ‘Cannot add foreign key constraint’)报错

    [外键约束问题]django.db.utils.IntegrityError: (1215, ‘Cannot add foreign key constraint’) DATABA…

    Linux 2023年6月14日
    0102
  • APACHE快速安装流程梳理

    快速安装开始: 【环境配置1】 yum -y install gcc gcc-c++ wget 保留操作(可跳过): yum -y removeapr-util-devel apr…

    Linux 2023年6月6日
    086
  • Linux 安装Apache2和PHP

    首先先更新系统 sudo apt update; sudo apt upgrade 然后下载Apache2和PHP主要程序以及它的插件 sudo apt install apach…

    Linux 2023年6月7日
    090
  • 删除数据库表中重复数据的方法

    一直使用Postgresql数据库,有一张表是这样的: DROP TABLE IF EXISTS "public"."devicedata"…

    Linux 2023年6月6日
    090
  • Teamviewer解决方式–Win10

    用teamviewer远程时,如果被检测为商用,会给出提示,表示本次远程只能持续几分钟。下面给出win10的解决方案。 1、卸载teamviewer 从控制面板-程序与功能中卸载 …

    Linux 2023年6月8日
    090
  • 如何逃离框架孤井?

    前言 前面我发过一篇文章,脱离了Spring询问大家能不能继续开发,结果文章下面的评论和回复都告诉我大家伙的基础打得很牢固,该咋写还是咋写。看得我在这内卷的时代瞬间躺平。 那么今天…

    Linux 2023年6月13日
    091
  • 聊聊 Netty 那些事儿之 Reactor 在 Netty 中的实现(创建篇)

    本系列Netty源码解析文章基于 4.1.56.Final版本 在上篇文章《聊聊Netty那些事儿之从内核角度看IO模型》中我们花了大量的篇幅来从内核角度详细讲述了五种 IO&am…

    Linux 2023年6月6日
    086
  • Linux目录结构

    一、基本介绍 linux文件系统采用级层的树状目录结构,最上层的就是根目录 / ,在此基础上创建其他目录。在linux中一切皆为文件 二、详细目录介绍 /bin(不可随意更改):该…

    Linux 2023年6月6日
    0132
  • PTA 《基础编程题目集》 6-6 求单链表结点的阶乘和

    本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。 函数接口定义: int FactorialSum( List L ); 其中…

    Linux 2023年6月8日
    0127
  • Linux—磁盘管理

    Linux 磁盘管理 磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写;绝大多数磁盘被永久封…

    Linux 2023年6月7日
    093
  • 【原创】Linux虚拟化KVM-Qemu分析(十一)之virtqueue

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年6月8日
    081
  • shell中 $() $(()) $[] ${} $[[]] 区别

    $( ) &#x4E0E; (&#x53CD;&#x5F15;&#x53F7;) &#x5728; bash shell &#x4E…

    Linux 2023年5月28日
    094
  • linux 僵尸进程处理

    什么是僵尸进程 我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。 进程停止后, 该进程就会从进程表中移除。 但是,有时候有些程序即使执行完了也依然留在进程表…

    Linux 2023年6月6日
    0102
  • 【原创】Linux PCI驱动框架分析(二)

    背 景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. &#8211…

    Linux 2023年6月8日
    099
  • Redis主从复制搭建及原理

    1 简介 1.1 Redis在单机、单节点、单实例下存在的问题 单机故障 内存容量有限 访问压力 Redis主从架构主要解决的问题:单机故障和访问压力,通过主从架构可以将访问流量分…

    Linux 2023年6月13日
    096
  • nginx-add_header指令

    介绍 前端子系统由于业务形态,会有各种相同根域名的子系统相互调用,这时候就需要相应的子系统在nginx上支持跨域配置。 业务使用的样例 add_header ‘Access-Con…

    Linux 2023年6月6日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球