美文网首页
Linux Source命令及脚本的执行方式解析

Linux Source命令及脚本的执行方式解析

作者: 我是哈斯 | 来源:发表于2019-08-05 12:52 被阅读0次

当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用 source 命令,如:source /etc/profile
对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。

source命令:

source命令也称为“ 点命令 ”,也就是一个点符号(.),是bash的内部命令。
功能:使Shell 读入指定的Shell程序文件并依次执行文件中的所有语句
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

用法:

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

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?

1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。
2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。
3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

举例说明:
1.新建一个 test .sh脚本,内容为:A=1
2.然后使其可执行chmod +x test.sh
3.运行sh test.sh后,echo A,显示为空,因为A=1并未传回给当前shell 4.运行./test.sh后,也是一样的效果 5.运行source test.sh 或者 . test.sh,然后echoA,则会显示1,说明A=1的变量在当前shell中

相关文章

  • Linux Source命令及脚本的执行方式解析

    当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用 source 命令,如:s...

  • shell,exec,source执行脚本的区别

    在UNIX/Linux中,经常需要写脚本执行自动化工作。执行脚本有多种方式,可以通过sh,source或者exec...

  • shell入门

    0. shell脚本执行 可使用自动显示git 分支的脚本来验证 1. source 通过source命令执行脚本...

  • [Linux]Shell

    shell:命令解释器,驱动linux内核;应用程序调用shell命令 1.Shell脚本的执行方式 脚本格式要求...

  • 如何在 source 的脚本里获取脚本的绝对路径

    因为要在脚本里面设置 环境变量所以需要 source 执行脚本但在linux 里 source 获得的 $0 不是...

  • shell命令学习

    执行程序:"."(点号) 点号用于执行某个脚本,甚至脚本没有执行权限也可以运行source命令也可以~$ cat ...

  • 脚本

    1.脚本 可以通过sh,bash,source命令来执行sh脚本文件,source可以用.代替 sh,bash会开...

  • shell基础规则与习惯

    基础规则-执行脚本 执行方 法应用场景sh执行各种命令 必备./source在脚本中调用使用其他文件方法 在脚本中...

  • linux下如何执行PHP脚本2018-10-26

    linux下如何执行PHP脚本 Linux 下如何直接执行 php 脚本? 下面是部分 php 命令行参数。 用法...

  • Linux脚本学习笔记

    1. 执行脚本文件的方法 先给文件添加可执行权限,再执行 使用 sh命令: 使用 source命令: 2. 查找文...

网友评论

      本文标题:Linux Source命令及脚本的执行方式解析

      本文链接:https://www.haomeiwen.com/subject/tjwpdctx.html