环境变量

文章目录

  • 什么是环境变量
  • 常见的一些环境变量
  • 查看当前的环境变量
  • 环境变量对应的文件
  • 修改环境变量
  • 环境变量的组织方式
  • 代码获取环境变量

什么是环境变量

环境变量是指在操作系统中用来指定操作系统运行的一些参数:也就是说,操作系统通过环境变量来找到运行时的一些资源。例如链接的时候帮助链接器找到动态库(标准库)或者是执行命令的时候,帮助用户找到命令的位置。

常见的一些环境变量

PATH:指定可执行程序的搜索路径。

我们来看一下“ll”的路径:
环境变量_第1张图片

HOME:登录到Linux操作系统的用户家目录

shell:当前的命令行解释器,默认是“/bin/bash”

查看当前的环境变量

命令:env
输出的是环境变量名称:环境变量的值(用:进行间隔)。
命令:echo $[环境变量名称]
用来查看单个环境变量对应的值。

环境变量对应的文件

系统级文件:针对各个用户都起作用,root用户有权限修改,强烈不建议修改系统级的环境变量文件,会影响其他用户。
路径:/etc/bashrc
用户级别环境变量文件:只对自己用户的环境变量做出修改,只影响自己。
路径:~/.bashrc以及 ~/.bash_profile
~/.bash_profile中包含了 ~/.bashrc和 /etc/bashrc

环境变量_第2张图片

环境变量_第3张图片

修改环境变量

命令范式:export 环境变量名称=$[环境变量名称]:[新添加的环境变量的内容]

先查看一下PATH这个环境变量目前的状态,我们一会儿将对它进行修改:

在这里插入图片描述

两种方式修改一下PATH环境变量:

在这里插入图片描述

环境变量_第4张图片

我们是在命令行当中直接进行修改的,这种修改有一个很值得注意的特点,就是它是临时生效的,只在当前终端生效。

在命令行当中修改:如果是新增某个环境变量,可以不要$ [环境变量名称],直接export 环境变量名称=[新添加的环境变量的内容];如果是修改原来的环境变量,必须加上$[环境变量名称],否则之前的环境变量的值就找不到了。

在文件当中修改:修改完后不会立即生效,需要配合source [环境变量文件名称],永久生效。如果是新增某个环境变量,在文件末尾直接添加:export 环境变量名称=[新添加的环境变量的内容];如果是修改原来的环境变量,在原来的后面添加“[新添加的环境变量的内容]”。
在文件当中修改是永久生效的,因为每次登录都会加载环境变量文件。

我们一般执行自己的可执行程序的时候,都是需要在前面加上./的,为什么要这样子呢?因为我们要告诉bash,要执行的可执行程序到底在哪里,./就是告诉bash,执行的可执行程序在当前路径下。那我们可不可以不加./呢?当然可以,只是需要我们将可执行程序的路径配置到PATH环境变量当中。

环境变量的组织方式

环境变量是以字符指针数组的方式进行组织的,最后的元素以NULL结尾。
环境变量_第5张图片

代码获取环境变量

1、通过main函数来获取
main函数有三个参数,由两部分组成。第一部分是命令行参数:命令行参数的个数、命令行参数的值,也就是前两个参数;第二部分是环境变量的值,也就是第三个参数。

环境变量_第6张图片

2、用environ获取

环境变量_第7张图片

3、getenv
char* getenv(const char* name);
参数:环境变量名称
返回值:环境变量的值,没找到返回NULL

环境变量_第8张图片

你可能感兴趣的:(linux,服务器,后端,bash)