You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell脚本中. ./build.include语句的含义是什么?

关于Shell中. ./build.include的含义解释

嘿,作为Shell脚本新手,这个语法确实容易和“当前目录”的.搞混,我来给你掰扯清楚:

这里的第一个. 不是代表当前目录,它是Shell内置命令source的简写!所以整行代码完全等价于:

source ./build.include

核心作用是什么?

source(或者.)命令的功能是:把指定文件里的所有内容,直接加载到当前Shell会话/脚本的环境中执行,而不是像普通脚本那样启动一个子Shell来运行。

这带来的关键区别是:

  • build.include里定义的变量、函数、别名甚至环境变量,都会直接成为当前build.sh脚本的一部分,后续代码可以直接调用
  • 如果直接运行./build.include(假设它有执行权限),它会在独立的子Shell里执行,执行完后所有变量、函数都会消失,完全不会影响当前脚本的环境

举个直观的例子:
假设build.include里写了这些内容:

BUILD_DIR="./output"
function print_build_status() {
    echo "Build process initialized!"
}

当你在build.sh里用. ./build.include加载后,就能直接在脚本里用:

echo $BUILD_DIR  # 会输出 ./output
print_build_status  # 会输出 Build process initialized!

但如果不用source/.,直接运行./build.include,上面这两行代码在build.sh里会直接报错——因为变量和函数根本没在当前脚本的环境里定义。

内容的提问来源于stack exchange,提问作者Shengxin Huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:51:24