当前位置: 首页 > news >正文

Linux环境变量与本地变量

文章目录

  • Linux环境变量与本地变量
    • 什么是环境变量
    • 查看环境变量
    • 设置环境变量
    • 本地变量
      • 命令行参数

Linux环境变量与本地变量

什么是环境变量

操作系统或运行时环境中存储的一些变量,用来存储与进程或系统相关的配置信息。这些变量在进程启动时由操作系统或Shell读取,并对进程的行为和资源访问产生影响。

查看环境变量

env  //可以查看所有的环境变量,环境变量具有全局属性,也就是你这个程序中的所有子进程的环境变量都是继承父进程的
echo $具体变量名称    //查看具体的某个环境变量
系统调用接口
char* getenv(const char* name);

设置环境变量

export MY_Value = 1111 //设置MY_value为环境变量,并且值为111
unset MY_value  //取消环境变量

本地变量

直接在shell中定义的变量就是本地变量

例如:直接在bash中写入以下的内容,A 和 B就是本地变量。

A = 1
B = 2c

**问题1:**可知bash是一个进程,我们在bash中所输入的指令都通过bash去创建子进程去执行,当我们用echo去输出本地变量的值的时候,为什么可以输出出来,按理来说本地变量不是不能继承给子进程吗?

答1:命令行上创建的进程不都是通过创建子进程去运行的。这里分为两种,一部分命令是去创建子进程中创建,另一部分的指令是通过bash自己去完成,类似于bash调用了自己的,或者系统写的函数,也被叫做内建命令。如cdechopwd

注意:不管是环境变量还是本地变量,都只是在当前bash中生效,一旦bash销毁,这些变量也会销毁。

问题2: 为什么说环境变量有全局属性,子进程是如何继承的?

答2: 这里涉及到命令行参数传参,main函数的第三个参数int main(char argc,char* argv[],char* env[])

env里面是我们所有的环境变量。

命令行参数

int main(char argc,char* argv[],char* )
{return 0;
}

argv是一个指针数组,里面的元素保存的是命令的输入内容,以空格为分隔。argc是argv中的元素个数。

int main(char argc,char* argv[])
{int i = 0;for(;argv[i],i++){printf("%s\n,"argv[i]);}return 0;
}

假设这个程序名字为mytest

我们在命令行输入 ./mytest a b c d

这个程序将会打印如下的内容:

./mytest
a
c
d

这也就是我们所输入的内容,这就是命令行参数,注意argv[]数组最有一个指针指向的位置为NULL,也就是0

相关文章:

Linux环境变量与本地变量

文章目录 Linux环境变量与本地变量什么是环境变量查看环境变量设置环境变量本地变量命令行参数 Linux环境变量与本地变量 什么是环境变量 操作系统或运行时环境中存储的一些变量,用来存储与进程或系统相关的配置信息。这些变量在进程启动时由操作系统或Shell读取&…...

ChatGPT的应用场景:开启无限可能的大门

ChatGPT的应用场景:开启无限可能的大门 随着人工智能技术的快速发展,自然语言处理领域迎来了前所未有的突破。其中,ChatGPT作为一款基于Transformer架构的语言模型,凭借其强大的语言理解和生成能力,在多个行业和场景中展现出了广泛的应用潜力。以下是ChatGPT八个最具代表…...

QT按下两次按钮,保存这期间内变换的QtextEdit控件内的数据

这个功能在项目中很常见&#xff0c;对界面里某个控件的数据进行记录&#xff0c;我这个是每秒记录5次&#xff0c;实际就是每200ms触发一次定时器&#xff0c;来满足需求。 .h文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QtSerialPort> …...

daos源码编译

1. 前言 本文详细介绍如何在almalinux8.9上编译daos.2.0.0源码。系统环境如下&#xff1a; daos: 2.0.0 linux os: almalinux 8.9 linux kernel: 4.18.0-513.5.1.el8_9.x86_64之所以选择2.0.0版本&#xff0c;是因为daos从2.0.0开始是一个全新的架构设计&a…...

HTML飞舞的爱心

目录 系列文章 写在前面 完整代码 代码分析 写在后面 系列文章 序号目录1HTML满屏跳动的爱心&#xff08;可写字&#xff09;2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节快乐5HTML蓝色爱心射线6HTML跳动的爱心&#xff08;简易版&#xff09;7HTML粒子爱心8HTML蓝色…...

C++中智能指针的使用及其原理 -- RAII,内存泄漏,shared_ptr,unique_ptr,weak_ptr

目录 1.智能指针的使用场景分析 2.RAII和智能指针的设计思路 3.C标准库智能指针的使用 4.智能指针的原理以及模拟实现 5.shared_ptr循环引用问题和weak_ptr 5.1shared_ptr循环引用问题 5.2weak_ptr的原理和部分接口 5.3weak_ptr的简单模拟实现 6. shared_ptr的线程安…...

Linux服务器安装mongodb

因为项目需要做评论功能&#xff0c;领导要求使用mongodb&#xff0c;所以趁机多学习一下。 在服务器我们使用docker安装mongodb 1、拉取mongodb镜像 docker pull mongo &#xff08;默认拉取最新的镜像&#xff09; 如果你想指定版本可以这样 docker pull mongo:4.4&#…...

Android11修改摄像头前后置方法,触觉智能RK3568开发板演示

本文介绍在Android11系统下&#xff0c;修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示&#xff0c;搭载瑞芯微RK3568&#xff0c;四核A55处理器&#xff0c;主频2.0Ghz&#xff0c;1T算力NPU&#xff1b;支持OpenHarmony5.0及Linux、Android等操作系统&#…...

leetcode 212. 单词搜索 II

给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。 单词必须按照字母顺序&#xff0c;通过 相邻的单元格 内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一…...

Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计

基于 Taro 打造的京东鸿蒙 APP 已跟随鸿蒙 Next 系统公测&#xff0c;本系列文章将深入解析 Taro 如何实现使用 React 开发高性能鸿蒙应用的技术内幕 背景 在鸿蒙生态系统中&#xff0c;虽然原生应用通常基于 ArkTS 实现&#xff0c;但在实际研发过程中发现&#xff0c;使用 C…...

《Docker Registry(镜像仓库)详解》

一、引言 在容器化技术日益普及的今天&#xff0c;Docker 已成为众多开发者和企业的首选工具。而 Docker Registry&#xff08;镜像仓库&#xff09;作为 Docker 生态系统中的重要组成部分&#xff0c;负责存储和分发 Docker 镜像。本文将深入探讨 Docker Registry 的概念、功能…...

AI前景分析展望——GPTo1 SoraAI

引言 人工智能&#xff08;AI&#xff09;领域的飞速发展已不仅仅局限于学术研究&#xff0c;它已渗透到各个行业&#xff0c;影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中&#xff0c;一些领先的AI模型&#xff0c;像Sora和OpenAI的O1&#xff0c;凭借其强大…...

超级详细讲解转义字符,\? \‘ \f \0 \t等等!!!

C语言有一组特殊的字符称作转义字符&#xff0c;顾名思义&#xff0c;转变原来的意思 1 \? ??)是一个三字母词&#xff0c;在以前的编译器它会被编译为] (??会被编译为[ 因此在以前输入(are you ok ??)就会被编译为are you ok ] 解决这个问题只要在问号前输入\&#xf…...

微信小程序数据请求教程:GET与POST请求详解

微信小程序数据请求教程:GET与POST请求详解 引言 在微信小程序的开发过程中,数据请求是至关重要的一部分。通过与后端服务器进行通信,小程序能够获取动态数据,实现丰富的功能。在这篇文章中,我们将深入探讨微信小程序中的数据请求,重点介绍GET和POST请求的使用方法、示…...

Linux系统管理基础指南--习题

目录 一、基础知识与命令 二、 Linux的用户接口 三、文件权限与目录管理 四、shell相关知识 五、软件安装与网络 六、网络进程管理 一、基础知识与命令 1. (操作题)分别执行下述命令 ls -al cd ~ cd man -f man man –k cd man --help cal --help date --help bc --he…...

JVM(JAVA虚拟机)内存溢出导致内存不足,Java运行时环境无法继续

1、先贴出服务最后打印出来的日志&#xff0c;意思就是给虚拟机分配的内存被用完了&#xff0c;没有可用的内存了&#xff0c;服务运行不了了&#xff0c;被动停服了。详细的日志记录在了/home/user/zx/tomcat/apache-tomcat-8.5.82/bin/hs_err_pid147951.log文件里。 Java Ho…...

IOC控制反转详解

IOC&#xff08;控制反转&#xff09; component的衍生注解 前面曾经提到&#xff0c;若想要把某个对象交给IOC容器管理&#xff0c;就需要在其声明上加上Component注解。但是Spring中有三层架构&#xff0c;为了更加清晰的标注对象是属于哪一层的&#xff0c;提供了三个Comp…...

Qml-TabBar类使用

Qml-TabBar类使用 TabBar的概述 TabBar继承于Container 由TabButton进行填充&#xff0c;可以与提供currentIndex属性的任何容器或布局控件一起使用&#xff0c;如StackLayout 或 SwipeView&#xff1b;contentHeight : real:TabBar的内容高度&#xff0c;用于计算标签栏的隐…...

C# 常量

文章目录 前言一、整数常量&#xff08;一&#xff09;合法与非法实例对比&#xff08;二&#xff09;不同进制及类型示例 二、浮点常量三、字符常量四、字符串常量五、定义常量 前言 在 C# 编程的世界里&#xff0c;常量是一类特殊的数据元素&#xff0c;它们如同程序中的 “定…...

diffusion model: prompt-to-prompt 深度剖析

参考&#xff1a;diffusion model(十四)&#xff1a; prompt-to-prompt 深度剖析-CSDN博客 P2P提出的Motivation 目前大火的文生图技术(text to image)&#xff0c;给定一段文本&#xff08;prompt&#xff09;和随机种子&#xff0c;文生图模型会基于这两者生成一张图片。生…...

uniapp实现APP版本升级

App.vue 直接上代码 <script>export default {methods: {//APP 版本升级Urlupload() {// #ifdef APP-PLUSplus.runtime.getProperty(plus.runtime.appid, (info) > {// 版本号变量持久化存储getApp().globalData.version info.version;this.ToLoadUpdate(info.versi…...

uniapp强制修改radio-group内单选组件的状态方法

在uniapp开发中&#xff0c;需要在radio-group内部切换时做判断&#xff0c;提醒客户是否要变换radio的值&#xff0c;但是大家知道radio是单选组件&#xff0c;往往你点击后&#xff0c;是不能再修改状态的&#xff0c;就算你在点击后做判断&#xff0c;修改current的值&#…...

学习python的第十四天之函数——高阶函数和偏函数

学习python的第十四天之函数——高阶函数和偏函数 高阶函数 高阶函数是指那些可以接受一个或多个函数作为参数&#xff0c;或者返回一个函数作为结果的函数。高阶函数是函数式编程范式中的一个重要概念&#xff0c;它们使得代码更加灵活和模块化。 sorted() sorted()函数用于对…...

数据结构之二叉树详解:从原理到实现

1. 什么是二叉树&#xff1f; 二叉树&#xff08;Binary Tree&#xff09;是一种树形数据结构&#xff0c;其中每个节点最多有两个子节点&#xff0c;分别被称为左子节点和右子节点。二叉树可以用来表示层次关系&#xff0c;如文件目录、组织结构&#xff0c;或用于快速查找、…...

iOS 系统中使用 webView 打印 html 的打印边距问题

需求是使用系统提供的打印功能将HTML代码打印出来 1、使用CSS page 设置边距&#xff08;iOS不生效&#xff09; page {margin: 0;padding: 0;size: A6 portrait; }在 Android 中边距设置生效的&#xff0c;但是在 iOS 系统使用CSS page规则是不生效的 当从 iOS 系统打印网页…...

如何在ubuntu上调试core dump

启用core dump 确认ulimit 状态 ulimit -c 如果输出是0&#xff0c;表示core dump被禁用了 运行 ulimit -c unlimited 再次运行 ulimit -c 确认输出是ulimited 设置core dump路径和文件名格式 下面命令表示设置core dump文件在当前目录&#xff08;%e表示程序名&#x…...

基于 JNI + Rust 实现一种高性能 Excel 导出方案(上篇)

每个不曾起舞的日子&#xff0c;都是对生命的辜负。 ——尼采 一、背景&#xff1a;Web 导出 Excel 的场景 Web 导出 Excel 功能在数据处理、分析和共享方面提供了极大的便利&#xff0c;是许多 Web 应用程序中的重要功能。以下是一些典型的场景&#xff1a; 数据报表导出&am…...

【Maven】依赖管理

4. Maven的依赖管理 在 Java 开发中&#xff0c;项目的依赖管理是一项重要任务。通过合理管理项目的依赖关系&#xff0c;我们可以有效的管理第三方库&#xff0c;模块的引用及版本控制。而 Maven 作为一个强大的构建工具和依赖管理工具&#xff0c;为我们提供了便捷的方式来管…...

springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms

springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&a…...

小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…...

重庆綦江网站制作公司哪家专业/清远seo

转载http://blog.csdn.net/losophy/article/details/12836947目录(?)[] 之前在网上找了找资料&#xff0c;拼了这篇博客《配置gvim&#xff0c;建立ide环境&#xff08;持续更新&#xff09;》&#xff0c;今天就说说VIM使用技巧及快捷操作。 vi键盘图 先贴一图&#xff1a; 这…...

想自己做个网站/免费网站排名优化软件

金庸笔下的良好代码风格 转至&#xff1a;http://kb.cnblogs.com/page/202642/作者: 王路 发布时间: 2014-03-23 14:00 阅读: 8964 次 推荐: 43 原文链接 [收藏] 我零九年看过一本小说&#xff0c;讲程序员的故事&#xff0c;从此&#xff0c;了解了一个新物种。最近又…...

以网站建设专业画一幅画/网页加速器

小李的店里专卖其它店中下架的样品电视机&#xff0c;可称为&#xff1a;样品电视专卖店。 其标价都是4位数字&#xff08;即千元不等&#xff09;。 小李为了标价清晰、方便&#xff0c;使用了预制的类似数码管的标价签&#xff0c;只要用颜色笔涂数字就可以了&#xff08;参…...

淘宝联盟做独立网站/谷歌浏览器官网

本文在我的微信公众号&#xff1a;hongyangAndroid原创首发。很多时候&#xff0c;由于迭代周期有限&#xff0c;开发任务多、时间紧&#xff0c;导致很多产品基本没有单元测试&#xff0c;从而也导致很多同学这块都是盲区。其实我对测试接触也非常少&#xff0c;所以深度方面是…...

博罗企业网站建设/广州seo推广营销

在MySQL中, 如果显示的输入密码去登录的话, 就会有一个Warning显示出来, 提醒这种使用方式会不安全, 信息如下: [Warning] Using a password on the command line interface can be insecure. 如何去除&#xff0c;三种方式&#xff1a; 第一种方式: mysql_config_editor mys…...

做电影网站解决版权问题/网页设计论文

测试和开发过程中&#xff0c;有时候需要修改接口的返回状态&#xff0c;或是返回值。在Charles中可以通过远程映射&#xff0c;将另一个接口的响应返回给原接口&#xff0c;从而达到修改接口响应的目的。这个功能还能在正式线域名和测试线域名切换上。 文章目录一、原理二、操…...