shell 命令

Make 允许在评估期间通过 $(shell) 函数执行任意 shell 命令。目前,我们仍然允许在转换后的 Starlark 中执行此操作,但计划在完成转换之前将其移除。

执行任意 shell 命令会使 build 具有非封闭性

同理,请勿通过 $(shell cat file.txt)$(file <file.txt) 在产品配置期间读取或写入任何文件。系统仅在特定情况下(例如代码库规则)支持 Bazel 中的文件 I/O。