目录 :
1.引出环境变量
2. 简单使用一下环境变量
3.环境变量的概念
4.本地变量
5.环境变量的相关命令
6.环境变量获取和操作的方式
7. getenv(最常用的程序获取环境变量的方式)
8.环境变量的全局属性
-------------------------------------------------------------------------------------------------------------------------------
1.引出环境变量
./ 本质是帮系统确认对应的程序在哪里 -------》 为何系统的命令不用带路径呢???
2. 简单使用一下环境变量
系统当中有一个环境变量 PATH (帮系统找系统命令的一个环境变量)
查看PATH这个环境变量的内容
echo ¥PATH
如何让我们porc执行的时候不带 ./ 我就想proc执行和系统命令执行没有任何差别
如何添加呢???
题外话:其实我们安装软件,本质就是将我们的这个软件拷贝到系统环境变量当中特定的命令路径下(安装过程其实就是拷贝的过程)
export -
3.环境变量的概念
环境变量 : 一般是指在操作系统中用来指定操作系统运行环境的一些参数
环境变量通常具有特殊用途,还有在系统当中通常具有全局属性
常见的环境变量
PATH :指定命令的搜索路径
HOME : 指定用户的主工作的目录
那么为什么我们不同用户登入时,我们的工作目录是不同的,计算机是怎么知道我们的不同用户 的工作目录的-----------------》 是因为我们HOME 不同所有我们在启动加载的家目录肯定也是不一样的
SHELL : 当前shell,它的值通常是 /bin/bash
PWD : 它的值是当前所处的路径
env显示所有的环境变量
换言之 : 系统会存在大量 的一组属性变量,来维护系统当前所处的运行相关状态信息,这些就叫做环境变量,每一种环境变量有一种职责,有的是帮你查命令,有的是帮你确认你当前的路径 的、有的是确认你当前 的主机名的……………………
语言上定义的变量本质是在内存开辟空间(有名字)
不要去质疑OS开辟空间的能力!!!环境变量本质是OS在内存/磁盘文件中开辟的空间,用来保存系统相关的数据!!!
4.本地变量
系统上还存在一种变量,是与本次登录(session)有关的变量,只在本次登录有关(本地变量)
5.环境变量的相关命令
echo :显示某个环境变量的值
echo本质就是打印的功能
env : 显示所有的环境变量
set : 显示本地定义的shell变量和环境变量
export : 将本地变量导成环境变量
unset : 取消环境或本地变量
6.环境变量获取和操作的方式(组织方式)
在谈环境变量的组织方式之前,我们先聊一个命令行参数
为什么要有命令行参数呢???
换而言之 -- 》为什么要用命令行参数
如何通过程序获取环境变量
这样子我们的程序就可以获取环境变量了,这样子获取的环境变量和我们命令行上获取的环境变量是一模一样的了
7. getenv(最常用的程序获取环境变量的方式)
此时我们用getenv,拿我们的变量名就可以拿到我们对应的环境变量
8.环境变量的全局属性
可是我们刚刚一直在谈的可以通过命令行参数、env、getenv这些函数来获得环境变量,可是这些子进程的环境变量是谁给的呢????
一般这些环境变量是操作系统给的,也可以理解为bash给的
环境变量具有全局属性,本质:环境变量是可以被子进程继承下去
我们证明一下
下一步