macOS和Linux下source和export命令

macOS和Linux下source和export命令Linux下source和export命令source命令用法//两种用法sourcefilename.filenamesource作用和sh、bash相识但不一样,下面看一下他们的区别:1.shfilename重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell无论怎么改变变量都不会被带回父shell。2…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

source命令用法

//两种用法
source filename
. filename

source作用

和sh、bash相似但不一样,下面看一下他们的区别:
1.sh filename重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell无论怎么改变变量都不会被带回父shell
2.source filename这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面

export的用法

export TEST=”abc”

export作用

在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

下面看一些例子
// 赋值在test.sh中
export TEST="abc"

source test.sh
echo $TEST //”abc”

sh test.sh
echo $TEST //打印的是空值

得出结论

sh会新建一个子shell,在这个子shell中无论是否export都不会改变父shell(当前shell)。

再看一个例子
// 在test.sh中
export TEST="abc"
// 在echo.sh中
echo $TEST

source test.sh
echo $TEST //“abc”
sh echo.sh //”abc”

去掉export

// 在test.sh中
TEST="abc"
// 在echo.sh中
echo $TEST

source test.sh
echo $TEST //“abc”
sh echo.sh //打印的是空值

得出结论

而父shell中,有无export将会改变子shell,没有export是局部变量,子 shell 看不见的;有export是导出为全局变量,子shell也是可见的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197836.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 抽丝剥茧,带你理解转置卷积(反卷积)

    抽丝剥茧,带你理解转置卷积(反卷积)这里写自定义目录标题转置卷积普通卷积(直接卷积)转置卷积形象化的转置卷积欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FL…

    2022年6月21日
    40
  • java查看线程数量_oracle线程数最大多少

    java查看线程数量_oracle线程数最大多少TOPtop-H-p{pid}我这里筛选的是java的进程对应的thread是33PSpshuHp{pid}|wc-l直接计数统计出来

    2022年8月23日
    14
  • raid0和raid1的区别

    raid0和raid1的区别RAID是英文RedundantArrayofIndependentDisks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAIDLevels)。集中管理思想:资源整合,用统一标准进行管理它们共同点…

    2022年7月15日
    19
  • java实现debounce_Rxjava debounce 操作符

    java实现debounce_Rxjava debounce 操作符Debounce1.官方定义onlyemitanitemfromanObservableifaparticulartimespanhaspassedwithoutitemittinganotheritemTheDebounceoperatorfiltersoutitemsemittedbythesourceObservablethatare…

    2022年6月20日
    32
  • 内膜厚回声均匀会是癌_内膜回声均匀是不会病变是吗

    内膜厚回声均匀会是癌_内膜回声均匀是不会病变是吗下载数据集fromtorchvision.datasetsimportmnisttrain_set=mnist.MNIST(‘./data’,train=True,download=True)#若未找到数据集则自动下载test_set=mnist.MNIST(‘./data’,train=False,download=True)

    2022年10月9日
    3
  • hbase解决海量图片存储

    hbase解决海量图片存储随着互联网、云计算及大数据等信息技术的发展,越来越多的应用依赖于对海量数据的存储和处理,如智能监控、电子商务、地理信息等,这些应用都需要对海量图片的存储和检索。由于图片大多是小文件(80%大小在数MB以内),以GFS、HDFS为代表的适用于流式访问大文件的分布式存储系统,若直接用来存储图片,由于元数据膨胀,在扩展性和性能方面均存在严重问题。   为了解决HDFS在小文件存储方面的问题,通

    2022年7月12日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号