【lesson11】环境变量

news2024/11/23 20:07:33

文章目录

  • 环境变量的认识
  • main函数参数问题

环境变量的认识

我们知道我们运行自己写的可执行程序的时候,我们必须带路径才能运行,可是执行系统指令的时候不用路径就能运行。
演示:
在这里插入图片描述
在这里插入图片描述
问题:系统命令可以直接运行,自己写的程序必须带路径这是为什么?
因为系统有环境变量,而系统指令的路径在环境变量所维护的路径中,自己的可执行程序没有在环境变量所维护的路径
查看:
在这里插入图片描述
所以当可执行程序运行,系统首先会在环境变量所维护的路径下查看有没有该可执行程序。
那么我们如何让自己的可执行程序不用带路径也能运行呢?
将该可执行程序的路径放入环境变量中。
演示:
在这里插入图片描述
在这里插入图片描述
我们看到,将路径放入环境变量中后,我们的可执行程序确实不用带路径就可以运行了。
PATH:指定命令的搜索路径。
env:查看系统中的所有环境变量。

演示:
在这里插入图片描述

修改环境变量一般只在本次对话中有效,下次登入后就无效了。除非更改配置,但是不建议这种做法。

main函数参数问题

main函数最多有三种参数。
在这里插入图片描述
我们看到最后的env指针数组,它是什么呢?
它就是环境变量,它是一个指针数组,指向各个环境变量
在这里插入图片描述

代码演示:
在这里插入图片描述

在这里插入图片描述
我们可以看到确实用代码打印出了环境变量。
还有系统给我们提供的获取环境变量的接口数组指针也可以打印环境变量。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
getenv函数:获取环境变量
在这里插入图片描述

演示:
在这里插入图片描述
在这里插入图片描述
我们可以看到,我们用getenv获取了PATH路径。

进程的环境变量是谁传的?
从父进程那继承下来的。
所以bash的环境变量就是,所有进程的环境变量。

证明:
在bash中添加一个环境变量,看代码中能不能输出。
在这里插入图片描述
在这里插入图片描述
我们看到了确实获取了我们自定义的变量。

结论:子进程的环境变量是从父进程那继承来的,默认所有环境变量都会被子进程继承。

所以环境变量具有全局属性。但不是所有具有全局属性的变量都是环境变量。这里就不演示了。
set:打印所有全局变量。
在这里插入图片描述
main函数的argc和argv叫做命令行参数。
argc是多少就觉定argv数组有几个参数

演示:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
有很多人肯或有疑问,这个有什么用?
我们学了ls指令,ls参数不同就会有不同的功能,那么是怎么实现的呢?
代码简单演示:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1043581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表详细解析|画图理解

前言: 在前面我们学习了顺序表,相当于数据结构的凉菜,今天我们正式开始数据结构的硬菜了,那就是链表,链表有多种结构,但我们实际中最常用的还是无头单向非循环链表和带头双向循环链表,我们今天先…

删除表

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: drop table 表名; 说明:连同表结构、表中的数据都删除 案例:删除test03表,并验证 mysql> desc test03; ---…

安装Pymc3模块包问题记录

首先跟着各个方法安装,都不行,导入pymc3包时,就会报各种错;最后找了好几个博客跟着修改,最终才把pymc3包安装上了,也能导入进去了。 重新整理下安装步骤: 1、下载安装Anaconda3: …

【趣味JavaScript】5年前端开发都没有搞懂toString和valueOf这两个方法!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

在C或C++中查找内存泄漏

编程软件中的内存泄漏可能很难精确定位,因为这里面有大量的数据。本文中,您可以学习如何借助运行时错误检测工具查找C和C应用程序中的内存泄漏。 什么是内存泄漏?C和C语言实例 What Is a Memory Leak? 当您面临内存泄漏时,C和C…

师德师风演讲稿写作格式:如何用三句话吸引听众的注意力

写师德师风演讲稿时,可以按照以下格式进行写作: 1. 开头部分: a. 引起听众的兴趣,可以使用一个引人入胜的故事、一个有趣的事实或者一个引人思考的问题。 b. 简要介绍自己以及演讲的主题。 2. 主体部分: a. 阐述师…

多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)

多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络) 目录 多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)&…

华为云云耀云服务器L实例评测 | 云服务器搭建自己的gitlab代码仓库手把手教学

📋 前言 🖱 博客主页:在下马农的碎碎念🤗 欢迎关注🔎点赞👍收藏⭐️留言📝✍ 本文由在下马农原创,首发于CSDN📆 首发时间:2023/09/26📅 最近更新时…

crypto:Quoted-printable

题目 解压文件后可得到提示文本 好了这个没接触过,参考别的大佬wp QP为可打印字符编码,根据加密方式任何一个8位的字节值可编码为3个字符:一个等号“”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。 利用网…

完全背包 动态规划 + 一维dp数组

动态规划:完全背包理论基础 每件商品都有无限个!!! (1)0-1背包的核心代码 解决0-1背包问题(方案二):一维dp数组(滚动数组)_呵呵哒( ̄…

CodeWhisperer,非常丝滑的AI代码神器

文章目录 什么是 Amazon CodeWhisperer?快速上手CodeWhisperer安装配置如何使用 Amazon CodeWhispererCodeWhisperer初体验:hello world Python语言快速入门向文件写入数据读取csv文件排序算法之冒泡排序设计模式之单例模式 使用CodeWhisperer快速上手Py…

这本书竟然把JAVA讲的如此透彻!漫画JAVA火爆出圈!

亲爱的粉丝们,你是否曾经为学习JAVA而苦恼?繁复的代码和复杂的逻辑常常让人感到头大。不过,今天我要为大家介绍一本神奇的书——《漫画JAVA》,它以图文并茂的方式,轻松诙谐地讲解了JAVA的方方面面。在这篇文章中&#…

基于.Net Core实现自定义皮肤WidForm窗口

前言 今天一起来实现基于.Net Core、Windows Form实现自定义窗口皮肤,并实现窗口移动功能。 素材 准备素材:边框、标题栏、关闭按钮图标。 窗体设计 1、创建Window窗体项目 2、窗体设计 拖拉4个Panel控件,分别用于:标题栏、关…

LabVIEW开发实时自动化多物镜云计算全玻片成像装置

LabVIEW开发实时自动化多物镜云计算全玻片成像装置 数字病理学领域正在迅速发展,这主要是由于计算机处理能力、数据传输速度、软件创新和云存储解决方案方面的技术进步。因此,病理科室不仅将数字成像用于图像存档等简单任务,还用于远程病理学…

无菌生产使用的纯蒸汽质量检测必要性及验证服务

纯蒸汽常被用于制药行业的无菌生产中。无菌生产所用到的物料、容器、设备等物品需要使用纯蒸汽进行湿热灭菌处理。纯蒸汽的主要检测指标,如微生物限度、电导率、TOC等应满足《中华人民共和国药典》中注射用水的质量指标规定。 当纯蒸汽用于湿热灭菌时,为…

【MySQL】开启 canal同步MySQL增量数据到ES

开启 canal同步MySQL增量数据到ES canal 是阿里知名的开源项目,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。示使用 canal 将 MySQL 增量数据同步到ES。 一、集群模式 图中 server 对应一个 canal 运行实例 ,对应一…

C++刷题 全排列问题

C刷题 全排列问题 题目描述思路讲解代码展示 题目描述 思路讲解 代码展示 #include <iostream>using namespace std;const int maxn 11;//P为当前排列&#xff0c;hashTable记录整数x是否已经在P中 int n, P[maxn], hashTable[maxn] {false};//当前处理排列的第index号…

Mysql高级——数据库设计规范(2)

8. ER模型 ER 模型中有三个要素&#xff0c;分别是实体、属性和关系。 实体&#xff0c;可以看做是数据对象&#xff0c;往往对应于现实生活中的真实存在的个体。在 ER 模型中&#xff0c;用矩形来表示。实体分为两类&#xff0c;分别是强实体和弱实体。强实体是指不依赖于其…

ElementUI动态树,数据表格以及分页的实现

目录 前言 一. ElementUI动态树 二. 数据表格和分页 三. 后端代码 service层 controller层 前言 在上一篇博客中实现了左侧菜单栏&#xff0c;在此基础上将它变为动态的&#xff0c;即动态的展示数据库的数据。还有数据表格的实现以及分页。&#xff08;纯代码分享&#…

Opengl之基础光照

现实世界的光照是极其复杂的&#xff0c;而且会受到诸多因素的影响&#xff0c;这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型&#xff0c;对现实的情况进行近似&#xff0c;这样处理起来会更容易一些&#xff0c;而且看起来也差不多一样。这些光照…