专栏首页秘籍酷Linux基础(环境变量始末)

Linux基础(环境变量始末)

使用Linux操作系统(比如Ubuntu)的时候,经常会碰到环境变量的问题。环境变量是什么?有什么用?系统一开始如何确定环境变量的值?后续怎么设置?代码里面又可以如何获取和修改?这些疑问是任何一个开始玩Linux的同学需要掌握的。

在C语言程序中,我们常会用到局部变量和全局变量,局部变量的作用范围是该程序的一个局部区域,而全局变量是该程序的所有部分。但是还有一种变量作用范围更大:在整个“环境”(即整个系统)中都起作用,这样的变量被称为环境变量。

怎么查看当前有哪些环境变量呢?很简单,一个命令搞定:

env

执行此命令之后,你将会看到一大堆环境变量的名字及其具体的值,例如:

vincent @ ubuntu-16.04 $ env XDG_SESSION_ID=122 TERM=xterm-color SHELL=/bin/bash SSH_CLIENT=183.5.244.135 5130 22 USER=vincent MAIL=/var/mail/vincent PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin:/usr/games:/usr/local/games SHEVL=1 HOME=/home/vincent LANGUAGE=en_US: LESSOPEN=| /usr/bin/lesspipe %s .....

上面的每一行,都是一个环境变量与其值,比如USER=vincent,此处环境变量的名字为USER,其值为vincent。

仔细观察发现,环境变量一般都是大写的,每个变量所代表的含义也都不尽相同。那如果想要修改一个环境变量的值,该怎么做呢? 答案是敲入如下命令:

export XXX= ... ...

其中,XXX 是某环境变量的名字,由于每个变量的含义不同,因此赋值号=右边的内容就会有所不同。比如设置PATH环境变量:

export PATH=$PATH:/home/vincent/test

这句话的意思,是在PATH环境变量原来的值的基础上,追加一个路径,然后再赋值给PATH。

以上方法修改的环境变量,是临时生效的,要想永久有效,就必须将以上命令写入shell的配置文件~/.bashrc里面去。也就是说,将以上命令,添加到 ~/.bashrc文件的末尾就可以了。

当然,编辑了配置文件,别忘了让系统重新加载它,使之生效:

source ~/.bashrc

本文分享自微信公众号 - 秘籍酷(mijiku040)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 001.WordPress建站部署

    WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内...

    木二
  • Ubuntu Server 第三章 包管理

    我们说到Linux的时候,所指代的意义是不同的,一般认为Linux指的是Linux内核,而Linux内核是硬件系统向上对应用提供接口的一个中间层,本质上Linu...

    天钧
  • 诡异的else

    计算机程序由两部分组成,数据和语句。每一类数据有一个对应的数据类型,不同编程语言有不同的分类方法,但是不管怎么说,任何语言都有整数、小数、字符串。但是程序都是需...

    不可言诉的深渊
  • LINUX学习笔记

    locate:定位文件和目录【locate命令使用数据库来定位带有test这个词的文件或目录】

    天钧
  • 011.MySQL双主多从+Keepalived配置

    提示:从Master01将复制my.cnf至所有Slave节点,并修改相应的server id。

    木二
  • Python|try/except捕捉SyntaxError

    大家在编写程序的时候,多多少少都会出现各种问题。有的时候会让你的程序根本无法运行起来,有的时候会让你的程序在运行过程中出毛病。如果是第一种情况,我们把这个问题叫...

    不可言诉的深渊
  • Ubuntu Server 第二章 命令行基础

    在企业Linux Server 坏境中,经常是没有图形环境,只有一个终端窗口(黑乎乎的命令行和闪动的提示符)。Linux的前身是Unix,保留着很多Unix下的...

    天钧
  • Ubuntu Server 第七章 远程管理

    我笔记是直接从苑老师的第二章开始写的:-D,有朋友可能不了解链接终端的方式。目前我本地是Vmware 虚拟机 + Xshell SSH链接。关于SSH,不仅仅做...

    天钧
  • Ubuntu Server 第八章 DNS服务

    这章的内容为DNS服务,远程管理一章中使用PUTTET,利用Hosts文件是域名指向对方IP,其实就已经涉及到了DNS。

    天钧
  • 005.基于docker部署etcd集群部署

    提示:quay.io/coreos/etcd镜像国内可能无法pull,可在国外节点pull,然后scp至集群节点。

    木二

扫码关注云+社区

领取腾讯云代金券