export 功能说明:设置或显示环境变量。

语  法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。
参  数:
 -f  代表[变量名称]中为函数名称。
 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
 -p  列出所有的shell赋予程序的环境变量。

用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令

或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。

此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建

的shell。当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell。

从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

在子shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,

当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,

要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。

export命令将使系统在创建每一个新的shell时,定义这个变量的一个拷贝。

这个过程称之为变量输出。

结论:

1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;

2、一个shell中的系统环境变量会被复制到子shell中(用export定义的变量)

3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失
(并不能返回到父shell中)。

3、不用export定义的变量只对该shell有效,对子shell也是无效的。

为什么一个脚本直接执行和用source执行不一行呢?manual原文是这样的:

Read and execute commands from filename in the current shell environment and
return the exit status of the last command executed from filename.

直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的。

shell中 的 export命令相关推荐

  1. linux系统export,Linux入门进阶 - 如何在Linux中使用export命令

    原标题:Linux入门进阶 - 如何在Linux中使用export命令 来自: Linux迷 链接:https://www.linuxmi.com/linux-export.html Linux ex ...

  2. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

  3. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  4. Linux中使用export命令设置环境变量

    Linux export 命令 2011-08-31 22:36:39|  分类: 命令总结|举报|字号 订阅 功能说明:设置或显示环境变量. ############################ ...

  5. linux如何export文件夹,学习如何在Linux中使用export命令

    Linux export命令会标记哪些值需要传递给一组子进程.这是bash shell提供的一个简单但有用的特性.它允许管理员在不中断当前会话的情况下传递环境的配置参数.这就是为什么在终端会话重新启动 ...

  6. Linux入门进阶 - 如何在Linux中使用export命令

    Linux export命令会标记哪些值需要传递给一组子进程.这是bash shell提供的一个简单但有用的特性.它允许管理员在不中断当前会话的情况下传递环境的配置参数.这就是为什么在终端会话重新启动 ...

  7. bash中的export命令

    export命令 作用: 将父shell中的变量生效到所有子shell中都生效.比如在父shell中修改了LANG=utf8,export以后子shell中也会使用该语言编码. 使用语法: expor ...

  8. shell中的expect命令

    原文https://blog.csdn.net/jxdl6655/article/details/78626749 expect可以实现shell实现不了的用户交互的需求.expect可以将交互写在一 ...

  9. shell 中的export作用(转载)

    接触BASH的export是将自定义变量变成系统环境变量):我在一个脚本文件中定义一个了变量,然后echo显示出它的值,可结果却不是这样,脚本执行完后用source+脚本文件就可以了,我试了一下果然可 ...

最新文章

  1. 解决Mac下npm权限问题
  2. 用python做问答测试_测试用户输入Python
  3. NOIP2003提高组
  4. Python 面向对象编程
  5. java 同步锁_Java多线程:synchronized同步锁的使用和实现原理
  6. 信息学奥赛C++语言:分糖果
  7. 语义分割项目:病害程度定量估算(求每类占总量比例)
  8. ECharts 实现地图功能
  9. STM32驱动NRF24L01无线模块
  10. DDWRT几种无线工作模式简介
  11. AcWing 1123 铲雪车
  12. 透明壁纸android,主题透明壁纸软件下载-主题透明壁纸 安卓版v1.0-PC6安卓网
  13. 分区起始位置参数溢出_机械硬盘在4k对齐时勾选了一个主分区,没想到居然提示起始位置参数溢出~后来我不想要这个主分区了重新...
  14. 【将金令】1.19晚评:欧版QE箭在弦上,破高有望
  15. 综述:基于图学习的推荐系统;论文笔记
  16. 如何优雅的处理错误逻辑
  17. 谷歌搜索揭示人性最黑暗的秘密
  18. JavaWeb——MVC与三层架构
  19. 学习笔记(02):教你玩转HTML(html5)h5网页设计,网站开发-八卦图
  20. 编写一个判断完数的函数。完数是指一个数恰好等于它的因子之和,如6=1+2+3,6就是完数。

热门文章

  1. redis数据结构--hyperloglog
  2. Stm32H7XX GCC下分散加载实现
  3. 【H.264/AVC视频编解码技术详解】四. 常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码
  4. 架构师的必备素质和成长途径
  5. RF新手常见问题总结
  6. 笑出腹肌的 Emoji 表情符号,你值得拥有
  7. Effective C++ 规则39:明智而谨慎的使用private继承
  8. 受限玻尔兹曼机(RBM)在Tensorflow的实现
  9. t6文件服务器怎么设置,t6文件服务器设置
  10. 明远智睿5G工业网关 5G物联网人工智能