首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux】命令行参数和环境变量

二.命令行参数 在初学C语言的时候,可能在一些书籍上会看到main函数带参数,就像这样 int main(int argc,char*argv[]) { //.......我们平常使用的那些指令,例如 ls 什么的,它们后面跟不同的选项,就会有不同的功能,原理就是这个命令行参数。...HOME HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) echo $HOME  SHELL SHELL : 当前Shell,它的值通常是/bin/bash echo...: 显示本地定义的shell变量和环境变量(即显示本地变量和环境变量) 环境变量的组织方式 环境变量的组织方式和命令行参数是一样的。...所以一个进程在运行时,不是简单的加载到内存中,还会传入两张核心向量表: 命令行参数表 环境变量表 通过代码如何获取环境变量 函数getenv #include #include

13010

【Linux】命令行参数和环境变量

今日更新了Linux命令行参数和环境变量的内容 欢迎大家关注点赞收藏⭐️留言 命令行参数 我们平时写的main函数没有参数,其实它是有参数的。...由此可以得出:命令行中启动的程序,都会变成进程,并且都是bash的子进程。 所以,我们平常写的命令行字符串,默认都是输入给父进程bash的,因此bash也叫命令行解释器。...环境变量 如下图,为什么我们写的程序,运行时需要./,而系统的指令却不需要./就可以运行呢? Linux中,存在一些全局的设置, 告诉命令行解释器,应该去哪些路径下寻找可执行程序。...常见环境变量 PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) SHELL : 当前Shell,它的值通常是/bin/bash。...原因:最开始的环境变量不是在内存中,而是在系统对应的配置文件中。 当我们每次登录Linux时,配置文件会拷贝一份到bash进程中,里面的内容就包括PATH。

9710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux】详谈命令行参数&&环境变量

    当我们在命令行解释器输入一串指令时,命令行解释器会将这一串指令当成一个字符串,并以空格作为分隔符,将这个字符串分割成更小的字符串,并将这些更小的字符串分别存到argv数组中。...当你从命令行运行一个程序时,命令行解释器会负责解析命令行中的各个部分,包括程序名(即argv[0])和传递给程序的任何选项(即argv[1]、argv[2]等)。...这也就可以解释为什么同一条指令我们在命令行中传递不同的选项它可以帮我们执行不同的功能。所以选项的本质就是命令行参数。命令行参数,是Linux指令选项的基础。...当我们执行某一条指令的时候,系统默认会到PATH环境变量保存的目录中去搜索指令对应的可执行程序(这里我们必须清楚的是,Linux中指令的本质就是可执行程序)。...命令行解释器/bash进程内部自己维护了一张表,env表,env表中每一个位置都指向了一个环境变量,我们自己运行起来的进程都是bash的子进程(不考虑fork),当我们的程序运行起来时,bash进程会把它维护的

    41510

    【Linux课程学习】:命令行参数,环境变量

    1.变量定义在for循环中,在c99和c++中才支持: gcc ^ -o @ -std=c99 2.命令行也是一个进程,它的父进程都是shell。...命令行参数: int main(int argc,char* argv[ ]) argc表示参数的个数,crgv[]表示参数清单,是一个一个的字符串。...根据下面的测试结果,我们知道argv是我们在命令行输入的命令,所以argv[1]是./code ,后面的根据输入的命令而定。...1.首先被shell(命令行解释器)拿到。然后shell根据空格,就形成了一张表(argv),也就可以知道元素个数(argc)。这张表中每一个都指向一个字符串,最后以NULL结尾。...2.命令执行的时候,给进程传递,命令行参数。此时就形成了全局的argc和argv[ ],命令行参数是不会发生变化的,这样子进程不用拷贝一份,argc和argv[ ]不会进行修改,只需要只读就行。

    10510

    【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…

    bash当中的,linux在环境变量的配置文件当中就有环境变量的设置,当我们登录shell的时候这个环境变量就会load到当前的shell进程当中。...Linux操作系统的准备工作 1....导入环境变量可以先在命令行定义本地变量,然后导成环境变量,也可以两个步骤同时进行,取消环境变量或本地变量可以通过unset指令来操作。 2....转载自csdn博主吃鱼的羊文章 四、命令行参数表和环境变量表 1.命令行参数表 1....前面是通过命令行式的export指令来增加环境变量,我们也可以通过系统调用putenv()来更改或增加环境变量,这个系统调用放到后面的博文来进行详细的讲解。

    2.1K31

    【Linux操作系统】环境变量和命令行参数

    三.和环境变量相关的命令 1.echo:显示某一特定环境变量 2.export: 设置新的环境变量 3.env: 显示所有环境变量 4.set:查看本地定义的本地变量 四.命令行参数 1.cmd下的命令行参数...,都会在命令行里输入java和javac命令来验证,那你明白这背后的原理吗?...windows下环境变量和我们今天讲的Linux下环境变量的原理和作用都是类似的,只不过是使用和细节上有差异!...例如:一个环境变量存储的字符串可能由多条路径组成,在windows下和Linux下它们的路径分隔符就有所差异 windows下: Linux: 3.一览常见的环境变量 当前登入用户:...1.cmd下的命令行参数 在windows下相信你肯定写过所谓的关机小程序,那你肯定用到过这个: 或许你会说这不就是一个选项嘛,啊,他确实是选项,可是这选项的背后原理依赖的就是命令行参数!

    2.1K20

    【Linux系统编程】四、Linux环境变量与命令行参数详解

    二、常见的环境变量 PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到 Linux 系统中时,默认的目录) SHELL : 表示当前 Shell,它的值通常是 /bin/...^C [liren@VM-8-2-centos process]$ ② 对于HOME ​ Linux 系统中有一个环境变量 —— HOME,它默认 表明当前用户登录时所处的默认路径,当然它在系统中也有配置的...命令行参数。 ​...linux 中指令的多选项就是来自于命令行参数,而其中这些选项的传参由 shell 和操作系统来完成!...获取环境变量的方法 一、通过命令行参数的第三个参数 env ​ 这种方法我们在上面已经讲过了,我们着重来研究一下后两种!

    11610

    【Linux】进程详解:命令行参数、环境变量及地址空间

    前言 之前在这篇文章中【Linux】进程管理:状态与优先级调度的深度分析就已经简述了 进程的部分相关内容,下面我们来进一步深入了解进程的命令行参数以及环境变量和进程地址空间。 2....说到字符串,我们无论实在 Linux 还是 Windows 或者其他系统,都有命令行提示符,他们是怎么构成的?...SHELL中保存的就是当前的命令行解释器的版本 3.4 和环境变量相关指令 在讲这个之前,我们需要先了解一下本地变量和环境变量 Linux中,我们可以在bash中直接定义环境变量 指令:变量名=内容...此时就需要引出一个新的概念 Linux的命令分类: 常规命令:shell fork让子进程执行的 内建命令:shell命令行的一个函数,当然可以直接读取shell内部定义的本地变量!...小结 Linux命令行参数,环境变量,环境变量的学习重在理解,细节比较多,而且有很多新概念,所以认真,细心的学习环境变量是很重要的,地址空间让进程管理和内存管理互不干涉,起到了很大作用。

    14010

    【Linux内核揭秘】深入理解命令行参数和环境变量

    env这张表会一一对应的指向对应的环境变量。 说了这么多,那什么是环境变量?—在 Linux 中,环境变量是用于在操作系统和程序之间传递配置信息的一种机制。...HOME HOME 环境变量在 Linux 系统中用于指定当前用户的主目录路径。它的值通常是 /home/username,其中 username 是登录用户的用户名。...SHELL SHELL 环境变量在 Linux 系统中表示当前用户默认使用的命令行解释器(Shell)的路径。...总结 在 Linux 中,命令行参数和环境变量作为系统和应用之间的桥梁,提供了灵活且高效的配置和交互方式。...在日常使用中,充分利用环境变量和命令行参数,能够大幅提高工作效率,打造出更加符合需求的操作体验。希望这篇文章能帮助你更好地理解和运用这些基础概念,迈向更高效的 Linux 使用之路!

    13710

    【Linux】借命令行参数的引导,探索环境变量的奥秘

    1.命令行参数 1.1.概念: 命令行参数是指在执行一个程序或命令时,通过命令行输入的附加信息和选项。...我们为什么会有不同的指令对应的不同的功能,就是因为命令行参数的存在,命令行参数就是Linux指令选项的基础! 注意我们的main()函数也是有参数的,且有三个参数,也就是命令行参数。...其中,argc表示命令行参数的个数,同时也表示argv数组中元素的个数,而argv是一个指向参数值的指针数组,每个指针指向一个命令行参数的字符串 注意在argv数组存储的时候,默认第一个参数就是程序的名称...\n"); } return 0; } 2.环境变量 2.1.环境变量是什么?...查看环境变量:使用指令 echo $[环境变量] 以:分隔,都是一个一个子路径 2.2.有什么方法可以不用带路径,直接就可以运行自己的程序呢?

    12010

    Linux 查看环境变量_linux修改环境变量顺序

    一、Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1、永久的:需要修改配置文件,变量永久生效。...二、设置变量的三种方法 1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是...3、直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】 在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的...ubuntu:~$ set BASH=/bin/bash BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu...使用unset命令来清除环境变量 set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。

    24.5K21

    Linux 查看环境变量_linux修改jdk环境变量

    Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效。 2 临时的:使用export命令声明即可,变量在关闭shell时失效。...设置变量的三种方法 1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。...3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】 在shell的命令行下直接使用[export 变量名=变量值] 定义变量, 该变量只在当前的shell(BASH)或其子...环境变量的查看 1 使用echo命令查看单个环境变量。例如: echo $PATH 2 使用env查看所有环境变量。例如: env 3 使用set查看所有本地定义的环境变量。...使用unset删除指定的环境变量 set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。

    10.1K20

    Linux 查看环境变量_Linux怎么设置环境变量

    接下来,讲一讲环境变量的相关知识点,既然提到了环境变量,那么我当前的环境里有多少默认的环境变量呢?关于这个问题,我教你两个命令就可以了,并且这两个命令一个比一个牛?...先说一说【env】 一、用env命令来查看环境变量 上图就是我的系统输出的结果,简单给大家介绍几个重点的变量 1)HOME:代表用户的家目录,通过cd ~就可以进入 2)SHELL:告诉我们当前环境使用的是哪一种...执行文件的查找路径,目录与目录之间用【:】分隔 6)LANG:语系数据—-编码 7)RANDOM:随机数变量,可以通过这个随机数文件相关的变量($RANDOM)来随机取得随机数值 二、用export查看环境变量...三、用set观察所有的变量 bash可不只有环境变量,还有一些与bash操作界面有关的变量,以及用户自己定义的变量存在,那么这些变量如何观察?...这个时候就要用set命令 不带参数的set命令用来显示环境变量 欲知后事如何,且听下回分解 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189156.html

    20.6K40

    Linux 查看环境变量_linux查看环境变量env

    Linux设置和查看环境变量 环境变量,简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。...在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。...这涉及到环境变量 PATH 的设置问题,而 PATH的设置也是在linux下定制环境变量的一个组成部分。...linux 查看环境变量与设置环境变量在使用过程中很常见,本文整理了一些常用的与环境变量相关的命令。...3、 终端直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】 在shell的命令行下直接使用[export 变量名=变量值] 定义变量, 如:$ export

    36K30

    Linux||环境变量

    昨天在听完生信技能树关于环境变量的课以后生信入门课-2021第7期,醍醐灌顶,又去鸟叔的书里翻了翻,趁我现在还记得,抓紧把笔记做下来,所以本期介绍环境变量。...常见环境变量: HOME:当前用户的主目录 PATH:shell查找命令的目录列表,由冒号分隔 SHELL:bashshell的全路径名 LOGNAME:当前用户的登录名 PS1:shell命令行界面的主提示符...PS2:shell命令行界面的次提示符 通过echo命令可以打印变量的值,但需要注意的是变量调用需要在前面加$。...因此,我们在安装新命令后,也应该修改环境变量。...参考资料 「生信技能树」生信入门课-2021第6期 https://mp.weixin.qq.com/s/Q-Rp2Vnr-_4sJWQ4xOLieQ 鸟哥的Linux私房菜

    8.8K10

    Linux:环境变量

    ——> 因为环境变量PATH,他是Linux系统指令搜索路径,用echo  $PATH(需要加)可查看系统能够找到的路径 ,其中路径以 “ :”为分隔符  (比如pwd能直接使用就是因为/usr/bin...1.3.1 命令行形式 env——>查看所有的环境变量 1.3.2 系统调用接口 getenv() 1.3.3 第三方变量获取 extern char **environ  ​​​​​ 1.3.4...1.4 命令行参数 1.4.1 选项的两个参数 其实我们的main函数是可以带参数的,因为他其实也是被别人调用的一个函数 int argc:向量表中命令行参数的个数 char* argv[ ]: 其实是一个向量表...,里面存储着命令行参数 (最后的位置为nullptr) 我们可以看到向量表的第一个位置一定是这个指令,而后面的位置存放一些附加的选项         这样做的原因是为指令、工具、软件等提供命令行选项的支持...* env[ ]——>存储环境变量向量表 因此我们可以知道了两张重要的向量表:(1)命令行参数表 (2)环境变量表  1.4.4 理解环境变量的全局属性        环境变量是系统提供的一组name

    8110

    【Linux】环境变量

    (一)命令行第三个参数 我们要学习通过命令行第三个参数获取环境变量就要先了解main函数的三个参数,我们在之前使用main函数的时候一般都是如下所示 int main(void) { //......return 0; } 其中argc是命令行参数的数量,argv是一个指向命令行参数字符串的指针数组,用于存储命令行参数,envp是一个指向环境变量字符串的指针数组,用于传递程序运行时的环境信息...以上我们所运行的进程,都是bash的子进程(bash就是命令行解释器,所有我们所创建的进程的父进程或祖宗进程),bash本身在启动的时候,会从操作系统的配置文件中读取环境变量信息,子进程会继承父进程交给我们的环境变量...8、本地变量 和环境变量不同,本地变量只在本bash内部有效,不会被继承,通过MYENV="内容"定义本地变量名和内容,在子进程中不可被访问 我们知道我们在命令行(bash)中所创建的进程都是命令行...(bash)的子进程,所以我们的本地变量是没办法在这种进程中显示的,只有将它export进环境变量,才可以被命令行子进程访问 9、内建命令 Linux中命令分为普通命令和内建命令,普通命令是要通过bash

    14210

    linux export添加环境变量_查看环境变量linux

    export命令—设置环境变量 1) 环境变量定义: “Its a named object that can be used by multiple applications as it contains...some valuable information required by these applications” 环境变量是一个具有特定名字的对象,包含了一个或多个应用程序要用到的信息....对应一些环境变量里的库和值等调用),只要根据门牌号就可以直接去找到. 2) 看当前系统的环境变量: export -p #或者采用命令 env #看一个特定环境变量包含的内容,比如PATH echo $...path2 若需要将路径放在优先搜索位置: exportPATH=/home/cc/path1:/home/cc/pck:$PATH echo $PATH #看新添加的路径 4) 让设置永久有效 直接在命令行用...bash.bashrc 关于上面命令的详细区别,可参考博文1)写的很详细 参考: 1) /etc/profile~/.bash_profile ~/.bashrc /etc/bashrc文件调用顺序解析 2) Linux

    7.8K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券