【linux】环境变量(进程二)

这里写目录标题

  • 命令行参数:
  • 环境变量:

命令行参数:

不谈命令行参数就谈环境变量就是耍流氓。

相信我们在C语言阶段都在main函数里见过参数。
例如int main(int argc, char* argv[])
这是什么东西呢?
话不多说我们直接打印一下看看:
在这里插入图片描述
现象:
在这里插入图片描述
到此为止我们发现argv这个数组存放着一个个指针,这些指针指向我们传入的参数。


再来看这样一段代码:
在这里插入图片描述
现象:
在这里插入图片描述

那么现在就产生两个问题:

  1. 为什么要有这中功能的存在?
  2. 谁传给我们的?

先回答第一个:
我们先来看这样一个命令:
在这里插入图片描述

是不是与我们刚刚进行的操作一样!!

没错,命令行参数的本质就是交给我们程序不同的选项。用来指定不同的程序功能!!


再来看第二个问题:

先说答案:是bash。
那么他是如何给我们的呢?

先来看这样一段代码:
在这里插入图片描述

现象:
在这里插入图片描述
由此可以验证子进程是可以拿到父进程的代码和数据的。

那我们父进程的父进程的谁呢,也就是父进程的ppid
在这里插入图片描述
就是bash,所以我们运行的二进制可执行文件就是bash的子进程,linux中大约70多的命令都是bash子进程。

那我们将二进制文件名与所带的选项给bash,bash的子进程也理所应当的可以拿到这些数据。在这里插入图片描述

环境变量:

相信大家也发现看了我们自己执行程序与直接执行linux系统中的命令用法是不一样的,我们的进程执行需要加所在路径,这就是环境变量再从中作祟。
我们先来以一个PATH环境变量来作为切入点。
在这里插入图片描述
PATH是环境变量的变量名,使用$就像指针解引用一样得到指向的内容。
再使用echo命令进行打印。

我们得到PATH内容发现,这里就包含了一个一个路径,以作为分隔符,而我们执行例如ls touch等命令时他们的所在路径就在PATH内,因此命令行解释器就知道去哪里寻找这些命令了在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

生信软件13 - 基于sambamba 窗口reads计数和平均覆盖度统计

Sambamba是一个高性能,高度并行,健壮和快速的工具(和库),用D编程语言编写,用于处理SAM和BAM文件。与samtools相比,其优势在于并行BAM读和写。 conda安装 conda install sambamba -y# github: …

使用WordPress在US Domain Center上建立摄影网站的详细教程

第一部分:介绍摄影网站 摄影网站是摄影师展示作品、分享经验、提供服务的在线平台。在摄影网站上,摄影师可以展示自己的摄影作品、发布摄影日志、接受客户预约等。使用WordPress搭建摄影网站具有灵活性和可扩展性,可以通过选择适合的主题和插…

热插拔技术详解(中)

3、热插拔导致的静电问题及其防治 (1)静电产生 物质都是由分子构成,分子是由原子构成,原子由带负电荷的电子和带正电荷的质子构成。在正常状况下,一个原子的质子数与电子数量相同,正负平衡,所以…

Java学习笔记(17)

集合进阶 单列集合 Collection List set Add clear remove contains isempty size Add方法可能也会添加失败 同理,可能删除失败 Contains细节 为什么要重写equals? 因为contains底层用的是object类中的equals方法,比较的是地址值&#xf…

HarmonyOS系统开发ArkTS常用组件文本输入及参数

TextInput文本输入组件,用于接收用户输入的文本内容。 1、TextInput组件的参数 TextInput(value?:{placeholder?: string|Resource , text?: string|Resource}) placeholder属性用于设置无输入时的提示文本text用于设置输入框当前的文本内容 Entry Component st…

PieCloudDB Database 3.0 正式发布丨数仓虚拟化流转数据要素

3月14日,拓数派 2024 年度战略暨新产品发布会在上海国际会议中心成功举行。本次大会的主题为「数仓虚拟化 流转数据要素」,吸引了众多业内资深专家和合作伙伴参与,共同探讨数据要素流转和数字技术创新等热门话题。 拓数派创始人兼 CEO 冯雷&…

ArmSoM-Sige RK3588开发板使用手册

Sige7 使用手册,帮助用户了解Sige7的基本使用和需要的准备工作。 当您拿到产品的时候,您需要知道它的型号以及硬件版本,这些信息都可以在板子上的丝印找到。我们会尽可能详细地向您介绍产品的信息。 入门准备​ 在开始使用 ArmSoM-Sige7 之…

探索雨云:AMD EPYC处理器助力香港三网直连

在数字化时代,云计算和数据传输速度成为了商业和科技发展的关键。香港作为国际金融中心和亚太地区的数字枢纽,其网络基础设施的发展备受瞩目。而雨云(RainCloud)作为一家致力于提供高效稳定云计算服务的领先企业,近日引…

yolov9目标检测可视化图形界面GUI源码

该系统是由微智启软件工作室基于yolov9pyside6开发的目标检测可视化界面系统 运行环境: window python3.8 安装依赖后,运行源码目录下的wzq.py启动 程序提供了ui源文件,可以拖动到Qt编辑器修改样式,然后通过pyside6把ui转成python…

全流程WRF高精度气象模拟技术及在地学领域中的实践应用

随着生态文明建设和“碳中和”战略的持续推进,我国及全球气候变化及应对是政府、科学界及商业界关注的焦点。气候是多个领域(生态、水资源、风资源及碳中和等问题)的主要驱动因素,合理认知气候变化有利于解释生态环境变化机理及过…

2024跨境品牌出海指南:9大关键要素与注意事项

随着全球经济的不断发展,跨境电商成为品牌拓展国际市场的重要途径。然而,随之而来的是更为激烈的竞争和日益变化的市场环境。2024年,跨境卖家若想成功出海,必须在众多竞争者中脱颖而出。本文Nox聚星将和大家探讨2024年品牌出海过程…

手撕算法-判断是不是完全二叉树

描述&#xff1a;思路&#xff1a;采用层序遍历&#xff0c;找到一个为空的标记&#xff0c;如果后面还有值&#xff0c;就代表不是完全二叉树。代码&#xff1a; public boolean isCompleteTree (TreeNode root) {// write code hereif(root null) return true;Queue<Tree…

第十二届蓝桥杯大赛软件赛决赛C/C++ 研究生组-纯质数

直接判断数据过大 相对而言&#xff0c;由2&#xff0c;3&#xff0c;5&#xff0c;7组成的数更少&#xff0c;则先筛选出由2,3,5,7组成的数&#xff0c;再判断这些数中的质数个数即可 #include <iostream> using namespace std; int main() {printf("1903");…

精准选型!企业CRM系统选型指南携手十大功能解析

大家好我是卡林&#xff0c;今天分享CRM系统的十大功能&#xff0c;企业CRM系统选型指南。说起CRM的功能&#xff0c;大家会联想到什么&#xff1f;数据库、商机管理或者销售漏斗&#xff0c;这些是大部分人都会联想到的功能&#xff0c;但不太全面。如线索管理、联系人管理、客…

日本370公告 各类材质餐具进出口检测 报告出具

食品接触材料指的是在正常使用过程中与食品进行接触的材料&#xff0c;涉及的产品包括&#xff1a;食品包装&#xff0c;餐具、厨具&#xff0c;食品加工机械&#xff0c;厨电产品等&#xff0c;但是由于其在生产过程中使用了一些化学原材料及化学助剂等&#xff0c;使得他们在…

【探索Linux】—— 强大的命令行工具 P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)

阅读导航 引言一、UDP协议二、UDP网络程序模拟实现1. 预备代码⭕makefile文件⭕打印日志文件⭕打开指定的终端设备文件&#xff0c;并将其作为标准错误输出的目标文件描述符 2. UDP 服务器端实现&#xff08;UdpServer.hpp&#xff09;3. UDP 客户端实现&#xff08;main函数&a…

python问题:vscode切换环境,pip安装库网络错误,不使用anaconda安装库

python问题&#xff1a;vscode切换环境&#xff0c;pip安装库网络错误 vscode切换环境pip安装库网络错误 不使用anaconda安装库 记录一下遇见的python问题。 vscode切换环境 在vscode上面的搜索框输入 > select interpreter然后选择需要的环境。 pip安装库网络错误 用…

cobbler批量装机工具,可以实现同时装多台或多台不同系统的主机,也可以实现定制安装

cobbler批量装机工具 文章目录 cobbler批量装机工具1. cobbler简介2. cobbler服务端部署uos3. 客户端安装(内存和cpu可以多个点&#xff0c;以免后面出错)4.cobbler服务端部署centos75.客户端安装6.cobbler服务端部署centos87.客户端安装8.cobbler服务端部署rockylinux99.客户端…

HarmonyOS NEXT应用开发之Navigation实现多设备适配案例

介绍 在应用开发时&#xff0c;一个应用需要适配多终端的设备&#xff0c;使用Navigation的mode属性来实现一套代码&#xff0c;多终端适配。 效果图预览 使用说明 将程序运行在折叠屏手机或者平板上观看适配效果。 实现思路 本例涉及的关键特性和实现方案如下&#xff1a…

关于 hbuild 真机调试:

当手机插上数据线&#xff0c;刷新&#xff0c;依旧找不到手机列表时&#xff0c;点击“故障排查指南” 参考官网&#xff1a;https://uniapp.dcloud.net.cn/tutorial/run/run-app-faq.html 操作步骤&#xff1a; 1、在手机设置中打开开发者模式&#xff08;根据不同手机打开…