环境变量(进程第3篇)【Linux复习篇】

目录

1、什么是环境变量?

1)PATH环境变量

2)怎么查看所有的环境变量?

 2、什么是命令行参数?

3、什么是本地变量和内建命令?


1、什么是环境变量?

环境变量是系统提供的多组name = value的形式的变量,不同的环境变量有不同的用户,通常具有全局属性。

1)PATH环境变量

为什么我们平时./运行我们的程序时,需要在该程序所在的目录下才能运行,而想ls这样的指令程序却可以在任何路径下执行呢?

这是因为在系统中存在环境变量PATH,保存了一系列路径

系统在执行ls命令时,会到PATH环境变量中的每个路径去找ls程序,然后再执行。

怎么新增?

PATH = $PATH:要新增的路径(注意path=是覆盖式的)

2)怎么查看所有的环境变量?

方法一:指令env

通过env指令可以查看当前进程从系统继承下来的所有环境变量。

HISTSIZE:历史命令被记录的条数。

方法二:系统调用getenv获取指定的一个环境变量

h

 2、什么是命令行参数?

int mian(int argc,char* argv[])
{
}

main函数也是函数,是可以被传入参数的。

argc表示参数个数,argv是参数数组,保存以空格分隔的字符串参数。

当我们在命令行中输入“./mycmd -a -b”时,实际会给argc传入以空格分隔的字符串个数,再给argv传入以空格分隔的字符串。

以“./mycmd -a -b”为例,argc=3 ,argv[0] = "./mycmd",argv[1] = "-a",argv[2] = "-b"

其实除了上面两个参数,main函数还有一个参数env

argv:命令行参数表

env:环境变量表

运行下面的程序,也可以打印出所有的环境变量。

 子进程会继承父进程的所有环境变量,所以说环境变量具有全局属性。

3、什么是本地变量和内建命令?

本地变量:只在本bash内有效,不会被子进程继承。

那为什么(echo $本地变量名) ,echo自己不用创建子进程吗,为什么它可以获取本地变量?其实echo命令是内建命令,它不需要创建子进程,是由自己亲自执行的,类似调用函数。

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建下一代去中心化应用:基于BASE链的DApp开发

在区块链技术的快速发展中,去中心化应用(Decentralized Applications,DApps)已经成为了一个热门话题。这些应用通过区块链技术,实现了去中心化、透明、安全和不可篡改的特性,为用户提供了全新的体验和解决方…

大数据组件之Storm详解

Storm 是一个免费并开源的分布式实时计算系统,具有高容错性和可扩展性。它能够处理无边界的数据流,并提供了实时计算的功能。与传统的批处理系统相比,Apache Storm 更适合处理实时数据。 让我们深入了解一下 Storm: 1.Storm 简介…

idm下载速度慢解决办法 idm批量下载怎么用 idm优化下载速度 Internet Download Manager解决下载速度慢的方法教程

IDM (Internet Download Manager)是一款兼容性大,支持多种语言的下载管理软件,它可以自动检测并下载网页上的内容,这正是这一优点,使得它受到了广大用户的喜爱。但是在下载的过程中,我们会遇到idm下载速度慢怎么回事&a…

Spring - 7 ( 13000 字 Spring 入门级教程 )

一:Spring Boot 日志 1.1 日志概述 日志对我们来说并不陌生,我们可以通过打印日志来发现和定位问题, 或者根据日志来分析程序的运行过程,但随着项目的复杂度提升, 我们对日志的打印也有了更高的需求, 而不仅仅是定位排查问题 比如有时需要…

ASP.NET数据存储与交换系统设计

摘 要 该系统以Microsoft Visual Studio 2003作为开发工具,选用SQL Server 2000数据库来实现数据存储,并设计开发了一种基于B/S模式的数据存储与交换系统。该系统完成了用户注册管理、后台管理和用户空间管理功能;为每个用户提供了个人的存…

C++命令行系统(一)

1 概述 在嵌入式开发中,经常会利用命令行交互系统测试功能,本文描述使用C语言开发的一个命令行交互系统,支持命令注册(C或C格式),命令分组,执行命令,显示命令提示。 2 设计 2.1 CommandManager 接口列表:…

前端打包过大如何解决?

前端开发完毕部署到线上是,执行npm run build。当打包过大时,部署到服务端后加载缓慢,如何优化? 我们可以通过执行npm run analyze。可以看到各个包文件大小的区别。 当打包过大时,通过压缩gzip的方式,可以…

LVGL自定义滑动

触摸和编码器都可以操作 typedef struct {lv_obj_t* obj;int16_t x;int16_t y;int16_t width;int16_t height; }pos_and_size_t;typedef struct {lv_obj_t* obj;lv_coord_t height;lv_coord_t width;lv_coord_t width_pad;lv_coord_t height_pad;lv_coord_t child_widget;lv_co…

大模型应用开发极简入门

简单的归纳一下书的前序部分 目录 LLM(Large Language Model)的应用技术栈通常包括以下几个方面: 深度学习框架: 数据预处理工具: 训练资源: 模型优化和调参工具: 部署和应用集成&#xf…

06_Flutter自定义锚点分类列表

06_Flutter自定义锚点分类列表 这样的效果,大家在一些商超应用里,应该也看到过。接下来咱们就用Flutter一步一步的来实现。 一.自定义属性抽取 categoryWidth: 左侧边栏的宽度,右侧区域的宽度填充剩余空间即可。itemCount: 总共有多少个分类…

Java——StringBuilder和StringBuffer

目录 一.StringBuilder的介绍 二.面试题 1.String、StringBuffer、StringBuilder的区别 2.以下总共创建了多少个String对象【前提不考虑常量池之前是否存在】 一.StringBuilder的介绍 由于String的不可更改特性,为了方便字符串的修改,Java中又提供St…

企业智能名片小程序:AI智能跟进功能助力精准营销新篇章

在数字化浪潮的推动下,企业营销手段不断迭代升级。如今,一款集手机号授权自动获取、智能提醒、访客AI智能跟进及客户画像与行为记录于一体的企业智能名片小程序,正以其强大的AI智能跟进功能,助力企业开启精准营销的新篇章。 通过深…