Linux4.7、环境变量

简介: Linux4.7、环境变量

基本概念

首先,环境变量不止一个,而是很多,我们先来看看windows下的环境变量

我们在命令行窗口可以运行java指令,就是因为我们配置了他的环境变量,可以找到他的可执行程序的地址

环境变量是什么呢?他一般是系统内置的有特殊用途的变量,我们使用语言可以定义变量,然后由操作系统分配内存空间,而操作系统和Linux下的bash都是由C语言写的,在他们运行时是不是也可以开辟空间呢?然后起名叫环境变量,然后存放各种内容?是的,可以的。

见见环境变量

我们可以使用echo $环境变量名字来查看环境变量

指令原理

我们先来了解一下main参数和命令行参数

main函数我们平时有用过参数吗?恐怕很少,那么我们来看看

那么看出些什么吗?我们输入的指令被空格分成4个字符串,也就是argc的大小,而argv每个元素分别指向这四个字符串。

接下来我们可以通过他们来实现不同的功能

如果你还没明白我在干什么,那看看我下面在做什么

现在是不是就明白了,我们的指令其实就是C语言写好的程序,也是这样的方式,命令行参数是什么?不就是给main函数argv传的参吗,这就是指令。

那么为什么指令不需要加./我们就要加?

我们发现指令是在环境变量PATH包含的路径里,而系统在执行可执行程序时会按照路径去找,没有指定路径他就去环境变量包含的路径下去找,也就是说,如果我们将我们自己的程序也放在这个路径下,我们也可以像指令这样,我们来试试。

是的,他现在不就是指令吗?但是不建议把我们的半成品加进系统指令的路径里,所以我们还是删掉。

那么这项工作是由谁来做的呢?是由我们的bash将我们的命令行参数传递给main函数。

常见环境变量及其测试

PATH: 指定命令的搜索路径

HOME:指定用户的家目录

SHELL:当前shell,通常是bin/bash

环境变量相关指令

echo: 显示某个环境变量值
export: 设置一个新的环境变量
env: 显示所有环境变量

unset: 清除环境变

环境变量组织方式

环境变量表

通过代码获取环境变量

第二种方式

libc中定义的全局变量environ指向环境变量表,他没有包含在任何头文件中,因此使用时要extern声明。

通过系统变量获取环境变量以及设置环境变量

getenv

环境变量的全局属性

环境变量具有全局属性,通常可以被子进程继承下去。

目录
相关文章
|
6天前
|
存储 Linux Shell
Linux环境变量【终】
Linux环境变量【终】
|
6天前
|
存储 安全 Shell
【Shell 命令集合 系统设置 】Linux 置环境变量 grpunconv命令 使用指南
【Shell 命令集合 系统设置 】Linux 置环境变量 grpunconv命令 使用指南
34 0
|
6天前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
71 0
|
6天前
|
存储 Unix Shell
Linux:环境变量
Linux:环境变量
25 7
|
6天前
|
Shell Linux C++
【Linux】关于环境变量——你需要知道这些原理&指令
【Linux】关于环境变量——你需要知道这些原理&指令
|
6天前
|
Shell Linux 开发工具
【Linux】初学者需要知道的三个环境变量实验
【Linux】初学者需要知道的三个环境变量实验
|
6天前
|
Shell Linux 开发工具
【Linux】环境变量常见指令操作&基本实验(入门必看!)
【Linux】环境变量常见指令操作&基本实验(入门必看!)
|
6天前
|
存储 Linux 数据库连接
【专栏】掌握 `envsubst` 可提升在 Linux 系统中处理环境变量的效率。
【4月更文挑战第28天】`envsubst` 是 Linux 中用于替换文本中环境变量值的工具。它遍历文本,将环境变量替换为实际值。要使用它,首先可能需要安装相应软件包。基本用法是 `envsubst < input.txt > output.txt`,将输入文件的环境变量替换后输出到输出文件。命令还支持选项如 `-e` 和 `-d`。实例包括:配置文件替换、脚本执行中的环境变量替换和动态生成文件。掌握 `envsubst` 可提升在 Linux 系统中处理环境变量的效率。
|
6天前
|
Shell Linux 程序员
【linux进程(六)】环境变量再理解&程序地址空间初认识
【linux进程(六)】环境变量再理解&程序地址空间初认识
|
6天前
|
Linux Shell 调度
【linux进程(五)】进程间切换以及环境变量问题
【linux进程(五)】进程间切换以及环境变量问题