一、环境变量

1.概念

指在操作系统中用来指定操作系统运行环境的一些参数。环境变量通常具有特殊用途,在系统中具有全局特性。
环境变量通常具有全局属性,可以被子进程继承下去。

2.常见的环境变量

(1)PATH:指定命令的搜索路径
(2)HOME:指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)
(3)HISTSIZE:指保存历史命令记录的条数
(4)SHELL:当前Shell,它的值通常是/bin/bash

3.查看环境变量的方法

echo $NAME //NAME:环境变量名称

4.和环境变量相关的命令

(1)echo:显示某个环境变量值
(2)export:设置一个新的环境变量
(3)env:显示所有环境变量
(4)unset:清楚环境变量
(5)set:显示本地定义的shell变量和环境变量

二、setenv

作为setenv函数

作用:增加或者修改环境变量。
注意:通过此函数并不能添加或修改 shell 进程的环境变量,或者说通过setenv函数设置的环境变量只在本进程,而且是本次执行中有效。如果在某一次运行程序时执行了setenv函数,进程终止后再次运行该程序,上次的设置是无效的,上次设置的环境变量是不能读到的。
头文件:#include<stdlib.h>
注:stdlib.h在Linux和Windows中略不同,比如setenv函数是用在linux中的,在Windows中没有setenv函数而用putenv来代替
函数声明:int setenv(const char *name,const char * value,int overwrite);
函数说明:setenv()用来改变或增加环境变量的内容。参数name为环境变量名称字符串。参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。如果没有此环境变量则无论overwrite为何值均添加此环境变量。若环境变量存在,当overwrite不为0时,原内容会被改为参数value所指的变量内容;当overwrite为0时,则参数value会被忽略。返回值 执行成功则返回0,有错误发生时返回-1。
相关函数:getenv,putenv,unsetenv

作为Linux中setenv命令

Linux中的功能:查询或显示环境变量
语法:setenv [变量名称] [变量值]

setenv用于在C shell设置环境变量的值
用法:setenv ENVVAR value
ENVVAR 为所要设置的环境变量的名。value为所要设置的环境变量的值
例:setenv PATH "/bin:/usr/bin:usr/sbin:"设置环境path的搜索路径为/bin,/usr/bin以及/usr/sbin

三、export

Linux中的功能:设置或显示环境变量(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须制定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东西在这些目录里)
说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。
语法:export [-fnp] [变量名称] = [变量设置值]
参数说明

  • -f  代表[变量名称]中为函数名称。
  • -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  • -p  列出所有的shell赋予程序的环境变量。

延伸:export设置环境变量是暂时的,只在本次登录中有效,可修改如下文件来使命令长久有效。
注意
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。
4、不用export定义的变量只对该shell有效,对子shell也是无效的。

一个变量创建时,它不会自动的为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原来脚本(调用者)里定义的变量的访问权,除非这些变量已经被显示地设置为可用。export命令可以用于传递一个或多个变量的值到任何后续脚本。

export设置环境变量是暂时的,只在本次登录中有效,若想要使得开机时自动加载这个环境变量免除以后每次设置,可将其写入/etc/re.local

环境变量setenv函数和export命令的解释相关推荐

  1. Linux操作环境变量 getenv函数、setenv函数、unsetenv函数使用

    1.getenv函数 获取环境变量的值 man 3 getenv#include<stdlib.h>char *getenv(const char*name);DESCRIPTIONThe ...

  2. 【Linux】19.Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解

    Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解 参考链接: https://www.jianshu.com/p/a62e1d327023 LD_LIBRARY_PATH中的LD ...

  3. Linux查看环境变量当前信息和查看命令

    系统的环境变量在配置web server以及编写程序都常常被用到, 因此了解必要的关于系统变量的知识是非常有必要的,下面关于linux系统变量的查看以及方法. 在Windows下,查看环境变量的命令是 ...

  4. 在Linux里设置环境变量的方法(export PATH)

    在Linux里设置环境变量的方法(export PATH) 在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量 ...

  5. Shell环境变量以及set,env,export的区别

    原文连接:http://www.linuxidc.com/Linux/2011-08/40478.htm 一.shell环境变量的分类以及set env export的区别: set:显示(设置)sh ...

  6. 在Linux里设置环境变量的方法(export PATH)--待修改

    2019独角兽企业重金招聘Python工程师标准>>> 又可参见:http://bbs.csdn.net/topics/80391559 在Linux里设置环境变量的方法(expor ...

  7. [linux]在Linux里设置环境变量的方法(export PATH)

    来源:http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要 ...

  8. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

  9. linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...

    linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用 [email protected] ~]# cp /usr/bin/ls   /tmp/ [[email p ...

最新文章

  1. Scratch等级考试(二级)模拟题
  2. 第五届中国企业服务年会:洞见2022数智化的“光与火”
  3. 编程之美-寻找最近点方法整理
  4. 第7组-17级通信三班-227-抓包分析
  5. boost::type_erasure::any_cast相关的测试程序
  6. 软件问题造成的经济损失案例_公司印章管理使用哪些行为会造成法律风险隐患...
  7. CVE-2017-7921复现(解密文件)
  8. 【计蒜客信息学模拟赛1月月赛 - D】Wish(dp计数,数位)
  9. java native 关键字
  10. java诺基亚nba,HMD 签约NBA 新秀劳里·马尔卡宁 为诺基亚手机品牌大使
  11. WebPack常用功能介绍
  12. springmvc(4)注解简单了解
  13. OSG——- 对点选物体平移(鼠标点选物体、物体随鼠标移动、屏幕坐标转世界坐标)
  14. ARP表 MAC表 路由表
  15. 别费劲找站长工具共享VIP了 这个工具也不错
  16. Guitar Pro2023中文版本下载及简谱功能详细介绍
  17. logback各标签详解
  18. 史上最全电脑硬盘修复方法
  19. 计算机英语反思总结怎么写,英语考试反思总结(精选10篇)
  20. 开放接口API(开发者的福利)

热门文章

  1. RSH-810微机智能母线电弧光保护装置
  2. 字节跳动将双月OKR调整为季度;马斯克批OpenAI违背初心:被微软控制,只顾赚钱;苹果上新348元省电保护膜|极客头条
  3. System Development Life Cycle(SDLC)系统生命周期
  4. Veracrypt和Cryptomator的使用方式对比
  5. 少儿编程培训 python
  6. 华为mate30pro和华为p40pro有什么区别
  7. mes系统和plc通讯案例_MES与PLC实时通信系统研究
  8. 使用Ansible部署器设置一个小型的TF+K8s实验室
  9. 热浪(单源最短路问题)
  10. 没有申报就对房屋进行装修可以吗?