如何在 Tup 运行语句中使用环境变量



我正在尝试运行一个给定环境变量的文件来生成一些特定于环境的规则。

但是,Tup 不允许直接在 Tupfile 中使用环境变量(您可以使用 export 关键字将它们发送到子进程,但不能在语句中使用run)。

如何在 run 语句中使用环境变量?

您可以使用 export 关键字将环境变量传递到子进程(在本例中为 bash),然后使用子进程访问环境变量的功能来运行所需的任何脚本来实现此目的。

为此,请创建一个帮助程序脚本:

#!/bin/bash
# bootstrap-script.sh
"${!1}/$2"

接受传递给它的第一个参数,将其解析为变量名,然后执行替换(其中第二个参数是直接替换),然后使用以下命令从 Tupfile 运行它:

# Tupfile
export SCRIPT_DIR
run ./bootstrap-script.sh SCRIPT_DIR my_script.py

上面通过SCRIPT_DIR传递到前面提到的引导脚本,以及要运行的目标脚本或程序(以便使用 Tup 的 run 关键字生成规则)。

最新更新