IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux_环境变量(添加删除修改)_(命令获取) -> 正文阅读

[系统运维]Linux_环境变量(添加删除修改)_(命令获取)

Windows下的环境变量
在这里插入图片描述

1.环境变量概念

环境变量:一般是指在操作系统中用来指定操作系统运行环境的一些参数
如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。
环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性

2.Linux下的环境变量

当我们生成可执行程序时,想要运行必须指定运行路径。但是像Linux下的命令如ls可以不指定运行路径
在这里插入图片描述

如上图,自己的可执行程序与系统的ls命令都是可执行程序。

其原因是是有相关环境变量帮助编译器进行查找。

常见的环境变量的查看(PATH,HOME,SHELL)

HOME的查看
echo $HOME
在这里插入图片描述
标记的了系统登录的初始目录,不同用户的HOME不同

SHELL的查看
echo $SHELL
查看系統命令行命令行解释器的种类
centos中为bash
在这里插入图片描述

PATH的查看
echo $PATH
在这里插入图片描述
在输入ls时会查找PATH中的路径,因为ls路径在PATH中所以可以不加路径。这些路径之间以:相隔

所以如果想让自己生成的可执行程序可以直接执行
方法一:
可以将其放到PATH中的目录文件夹中
在这里插入图片描述
测试后要记得在路径下删除这个可执行程序,否则会污染工具集

在这里插入图片描述

导入环境变量(export)

方法二:
将当前可执行程序路径导入到环境变量中

eg:将路径导入到PATH中
export PATH=$PATH:路径…
这里表示环境变量PATH值为原来PATH值+路径
因为PATH中以:相隔
export PATH=路径
则表示PATH中只有一条路径,原来的PATH值没有在新PATH中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上图,此时PATH中只有一条路径,此时ls也必须加路径才可以运行
在这里插入图片描述

此时重新登录云服务器PATH会恢复

linux环境变量全查看(env)

在这里插入图片描述

3.Linux下创建环境变量(export)

export + 变量名=变量值
在这里插入图片描述
注意:如果不加export
变量名=变量值
此时这个变量称为本地变量,本地变量只能在本进程(bash)中使用
export+本地变量名就可以将本地变量变为环境变量
在这里插入图片描述
环境变量可以被其他进程获取

Linux下取消添加的环境变量(unset)

unset+变量名
在这里插入图片描述

4.通过代码获得Linux中的环境变量

命令行参数

在这里插入图片描述
如上图argv与envp都是指针数组,argv的大小为argc个,envp数组存放的是指向环境变量的指针

在这里插入图片描述

在这里插入图片描述

发现运行时跟不同的后缀,argv不同
其中-a -b -c称为命令行参数,其被保存到argv这个指针数组中

    1 #include<stdio.h>
    2 
    3 #include<string.h>
    4                                                                                        
    5 int main(int argc,char*argv[],char*envp[])
    6 {
    7   if(argc==1)
    8   {                                       
    9     printf("Hello Linux -NULL\n");        
   10   }                                       
   11   else                                    
   12   {                                       
   13     if(strcmp(argv[1],"-a")==0)           
   14     {                                     
   15       printf("Hello Linux -a\n");         
   16     }  
   17     else if(strcmp(argv[1],"-b")==0)
   18     {
   19       printf("Hello Linux -b\n");
   20     }
   21     else 
   22     { 
   23       printf("Hello Linux -else\n");
   24     }
   25   }
   26 
   27   return 0;                                                                            
   28 }
                

运行结果为
在这里插入图片描述

代码查看环境变量信息

在这里插入图片描述

在这里插入图片描述

验证:
在这里插入图片描述

environ获取环境变量

environ是定义在C语言库的全局变量,使用时要extern声明
在这里插入图片描述
运行结果为环境变量的值

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:36:28  更:2021-09-26 10:36:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:03:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码