【lesson11】环境变量

文章目录

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

环境变量的认识

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

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

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

main函数参数问题

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

tp6 + swagger 配置文档接口

ThinkPHP 6.0 运行环境要求PHP7.2,兼容PHP8.1 安装 composer create-project topthink/think tp 6.0.*如果需要更新框架使用 composer update topthink/framework文档 完全开发手册 swagger 文档 注解文档 安装包 composer require zircote/swagger-php 引用…

从统计语言模型到预训练语言模型---预训练语言模型(BERT,GPT,BART系列)

基于 Transformer 架构以及 Attention 机制,一系列预训练语言模型被不断提出。 ​BERT 2018 年 10 月, Google AI 研究院的 Jacob Devlin 等人提出了 BERT (Bidirectional Encoder Representation from Transformers ) 。具体的研究论文发布在 arXiv …

共享门店模式:一种新兴的商业模式

共享门店模式是一种利用实体店铺的空间和资源,让多个品牌或商家在同一地点共同运营的商业模式。这种模式可以提高店铺的利用率,降低经营成本,增加客流量,实现资源的最大化利用。如果你是一个有创业想法的企业家,或者你…

如何办一份有价值的企业内刊/报纸?向《华为人》学习就够了

前两天有一个朋友联系华研荟,说他是今年大学毕业加入了一个中型公司,他学的是企业管理,在公司人力资源部门工作。上周老板说公司要办一份自己的内刊,这个工作由人力资源部负责,而人力资源经理就把这个活交给她了。 她…

【.net core】使用nssm发布WEB项目

nssm下载地址:NSSM - the Non-Sucking Service Manager 配置方式 修改服务在nssm工具下输入命令:nssm edit jntyjr 其中 jntyjr为添加服务时设置的Service name nssm可以设置任何以参数启动的应用程序以服务形式启动,通过设置参数内容启动服务 以上配置等同于执行…

【响应式布局】

响应式布局 1 什么是响应式布局2 响应式布局的5种实现方案2.1 百分比布局2.2 媒体查询布局2.3 rem响应式布局2.4 vw / vh响应式布局2.5 flex弹性布局 1 什么是响应式布局 响应式布局就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互…

后端配置(宝塔):处理php禁用函数

一、找到php的文件路径 在软件商店中,找到已安装文件,选择需要更改的php文件,选择“设置” 二、选择需要取消禁用的文件进行删除 扩展:可解决 The Process class relies on proc_open, which is not available on your PHP i nst…

Java面向对象高级

文章目录 面向对象高级Object类的常用方法常用方法一(面向对象阶段)** 和 equals 的区别** 关键字native**单例设计模式(Singleton)**前情回顾(学习基础)静态修饰符Static设计模式概念开发步骤**两种实现方…

手把手教你,细说向开源项目递交代码的流程

系列文章目录 手把手教你安装Git,萌新迈向专业的必备一步 GIT命令只会抄却不理解?看完原理才能事半功倍! 常用GIT命令详解,手把手让你登堂入室 GIT实战篇,教你如何使用GIT可视化工具 GIT使用需知,哪些操作…

信息安全:网络安全漏洞防护技术原理与应用.

信息安全:网络安全漏洞防护技术原理与应用. 网络安全漏洞又称为脆弱性,简称漏洞。漏洞一般是致使网络信息系统安全策略相冲突的缺陷,这种缺陷通常称为安全隐患。 安全漏洞的影响主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可…

UE5 虚幻引擎 使用编辑器工具进行资产批处理操作 让你的工作效率指数级增长!!!

目录 0 引言1 编辑器工具蓝图1.1 介绍1.2 案例:批量设置静态网格体资产的LOD1.3 进阶用法 2 编辑器工具控件2.1 介绍2.2 案例:随机给场景中Actor添加Yaw旋转值 0 引言 官方教程视频 参考文章 参考视频 UE5提供了两种 编辑器工具 :编辑器工具…

【计算机网络】IP协议

目录 前言 IP协议 基本概念 IP协议格式 分片 16位标识 3位标志与13位片偏移 分片流程 网段划分 网络号和主机号 DHCP协议 CIDR划分方案 特殊的ip地址 ip地址数量限制 私有ip地址与公网ip地址 路由转发 前言 我们前面讲了HTTP/HTTPS协议和TCP/…

HTML5福利篇--使用Canvas画图

目录 一.Canvas元素 1.Canvas元素定义 2.使用JavaScript获取页面中的Canvas对象 二.绘制图形 1.绘制直线 2.绘制矩形 (1)rect() (2)strokeRect() (3)fillRect()和clearRect()函数 3.绘制圆弧 4.…

位图布隆过滤器

文章目录 位图&布隆过滤器1. 位图1.1位图概念1.2位图原理1.3位图实现1.4位图排序 2. 布隆过滤器2.1 引入布隆过滤器2.2 概念2.3 布隆过滤器插入2.4 布隆过滤器的查找2.5 布隆过滤器模拟实现2.6 布隆过滤器的删除2.7 布隆过滤器优缺点2.8 布隆过滤器使用场景 3. 海量数据问题…

比特币 ZK 赏金系列:第 2 部分——查找哈希冲突

在我们的零知识赏金 (ZKB) 系列的第二部分中,我们将其应用于解决哈希冲突难题。在这样的谜题中,两个不同的输入散列到相同的输出。此类赏金可用于: 充当煤矿中的金丝雀,给我们一个有价值的提醒。存在冲突是散列函数较弱的标志&…

合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”

“乌蒙山连着山外山,月光洒向了响水滩。”近期在各大短视频平台爆火的《奢香夫人》你听过吗?奢香夫人是一位彝族“巾帼英雄”,这首同名歌曲早在2009年便已发布,如今突然“翻红”,不仅体现了大众对于少数民族文化高涨的…

Unity可视化Shader工具ASE介绍——1、ASE的介绍、安装和简单使用

大家好,我是阿赵,接下来我打算介绍一下Unity引擎的一个好用的可视化Shader编辑插件。这个插件叫做Amplify Shader Editor,下面都会简称为ASE。这一篇主要是讲一下这个插件的获取、安装,和一些简单的界面用法介绍。之后有机会&…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…

C++打印字符串数组中的元素(字符串)

C遍历字符串数组&#xff0c;在main函数里定义一个字符串数组&#xff0c;要求依次输出字符串元素&#xff1a; string a[4] {"a", "vag", "gwe", "gewa"};希望打印的结果 上面可以看做是二维指针&#xff0c;第一维是每个字符串&a…

Springboot 前后端分离项目使用 POI 生成并导出 Excel

在做一个 SpringBoot 前后端分离项目的时候&#xff0c;需要将数据存到 Excel中&#xff0c;用户可以下载 Excel。具体实现是采用 Apache 强大的 POI。文章最后将源码例出。 POI API 文档&#xff1a; https://poi.apache.org/apidocs/dev/index.html 步骤 导入 POI 的 maven …