通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

source、sh/bash、./的区别

source、sh/bash、./的区别主要体现在:1、执行方式不同;2、环境变量影响不同;3、权限需求不同;由于source是在当前shell环境下执行脚本,所以脚本中的环境变量会影响到当前shell。而sh/bash和./在子shell中执行脚本,脚本的环境变量不会影响到父shell。

一、执行方式不同

source命令,也可写作“.”,是在当前shell环境下执行命令,不需要新开启一个子shell。而sh/bash和./是新创建一个子shell来执行命令。

二、环境变量影响不同

由于source是在当前shell环境下执行脚本,所以脚本中的环境变量会影响到当前shell。而sh/bash和./在子shell中执行脚本,脚本的环境变量不会影响到父shell。

三、权限需求不同

使用source命令执行脚本时,脚本无需具有执行权限。但使用sh/bash或者./执行脚本时,脚本需要具有执行权限。


延伸阅读

1.source是什么

source是一种Shell命令,它的功能是在当前bash环境下读取并执行文件中的命令。该命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

2.sh/bash是什么

sh和bash都是Unix和Linux系统中的shell,shell是用户与系统进行交互的一种界面。sh是Bourne shell的简称,是早期Unix系统的默认shell;bash则是Bourne Again Shell的简称,是sh的扩展,提供了许多额外的功能,比如命令行编辑等。

3../是什么

在Unix和Linux系统中,”./”是一种常用的执行可执行文件或脚本的方式。”.”代表当前目录,”/”是目录分隔符,因此”./”后接文件名表示执行当前目录下的文件。但注意,要用”./”执行文件,文件必须具有执行权限。

相关文章