export

Posted 0916m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了export相关的知识,希望对你有一定的参考价值。

用户登录系统,系统会启动启动一个shell,用户可以在该shell中声明变量,也可以创建并运行shell脚本,
通常,登录的shell是父shell,则在该shell下运行的shell是该shell的子shell,
当子shell运行完毕后,将返回执行该脚本的父shell,从这个点来说,用户可以有多个shell,每个shell都是由父shell创建的

父shell在创建变量的时候,这些变量并不会被其子shell所知,也就是说,变量默认下是私有的,是局部变量。
使用export将变量可导出,使得该shell的子shell都可以使用该变量,这个过程叫做变量输出。

#!/bin/bash
echo $VAR

技术图片
一开始并没有VAR变量,所以打印是空,后来在shell中定义VAR变量,在此执行脚本则有正常输出
说明VAR被赋值了,
由于在这里的VAR和子shell的VAR都是局部变量,这时候如果在新建一个shell的话,打印依然是空值,

使用export的话就是在当前父shell中定义了一个全局变量,旗下所有子shell都可以使用这个变量,只在当前父shell中有效。
技术图片

注意:
即便子shell缺失读取到了父shell中的变量,也只是值的传递,如果在子shell中尝试改变var的值,改变的只是var在子shell中的值,父shell中的值是不会受到影响的,
技术图片

以上是关于export的主要内容,如果未能解决你的问题,请参考以下文章

exportsmodule.exports 和 exportexport default

前端模块化

export和export default区别

ES6语法中引入&导出

exports与module.exports的区别,export与export.defult区别

[ES6]import 与export的用法 ,export 与export default 的 区别 以及用法