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

时间:2014-12-15 04:21:40

标签: tup

我试图在给定环境变量的情况下运行文件以生成一些特定于环境的规则。

但是,Tup不允许直接在Tupfiles中使用环境变量(您可以使用export关键字将它们发送到子进程,但是您无法在{{run中使用它们。 1}}陈述)。

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

1 个答案:

答案 0 :(得分:1)

您可以通过使用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关键字生成规则)。