码迷,mamicode.com
首页 > 其他好文 > 详细

export

时间:2019-10-07 23:07:01      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:全局   pre   打印   img   定义   mic   ima   var   运行   

用户登录系统,系统会启动启动一个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

标签:全局   pre   打印   img   定义   mic   ima   var   运行   

原文地址:https://www.cnblogs.com/0916m/p/11632658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!