【Linux】环境变量

环境变量

  • 一、环境变量是什么?
    • 1.常见环境变量
    • 2.查看环境变量方法
    • 3.和环境变量相关的命令
  • 二、环境变量基本操作
    • 1.环境变量的组织方式
    • 2.通过代码获取环境变量
    • 3.环境变量通常具有全局属性


一、环境变量是什么?

Linux 中的各种指令本质上是 /usr/bin/ 目录下的一个个可执行程序,和自己编写的可执行程序没有任何区别。但执行自己的程序时需要指定路径,而执行Linux中的各种指令却不需要指定路径。
这是因为系统中存在PATH环境变量,PATH中存放着这些指令的地址;当我们使用这些指令时,系统会自动去PATH中寻找对应指令,如果找到了就执行,找不到就报错 – “command not found”。

1.常见环境变量

PATH:指定命令的搜索路径
HOME:指定用户的主工作目录(即用户登录到Linux系统中时的默认目录)
SHELL:当前的Shell,值通常是/bin/bash

2.查看环境变量方法

echo $NAME //NAME:你的环境变量的名称

3.和环境变量相关的命令

export:设置一个新的环境变量
env:显示所有环境变量
unset:清除环境变量
set:显示本地定义的shell变量和环境变量

二、环境变量基本操作

1.环境变量的组织方式

每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串:

【Linux】环境变量_第1张图片

2.通过代码获取环境变量

有三种方式:
(1)getenv()
【Linux】环境变量_第2张图片

【Linux】环境变量_第3张图片
(2)命令行第三个参数
【Linux】环境变量_第4张图片

【Linux】环境变量_第5张图片

(3)通过第三方变量environ获取
【Linux】环境变量_第6张图片

【Linux】环境变量_第7张图片

3.环境变量通常具有全局属性

可以被子进程继承下去,这也是环境变量具有全局属性的根本原因

【Linux】环境变量_第8张图片
【Linux】环境变量_第9张图片
【Linux】环境变量_第10张图片

如果只进行MYENV=12345,MYENV只是局部变量,用程序无法查看;只有加上export MYENV(或export MYENV=12345)才能使得MYENV成为全局变量。

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