Linux中export和source命令

Posted 拾月凄辰

tags:

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

export命令

export命令用于将shell变量输出为环境变量(全局变量),或者将shell函数输出为环境变量。

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

使用 export KKK=11 来将KKK输出为环境变量(全局变量),可以使用 unset KKK 来删除环境变量KKK

 

source命令

source命令用法

source FileName

source命令作用

在当前bash环境下读取并执行FileName中的命令。

*注:source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。该命令通常用命令“.”来替代。

使用范例:

  • source filename
  • . filename(中间有空格)

 

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。

同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。

例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。比如您在一个脚本里export KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK,发现没有值,假如您用source来执行 ,然后再echo,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。

 

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

Linux下source命令使用

shell命令中用source 和sh(或者bash)执行脚本的区别,以及export的作用

shell脚本中的export 和 source,bash

shell命令中用source 和sh(或者bash)执行脚本的区别,以及export的作用

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

source export