我正在尝试运行给定环境变量的文件以生成一些特定于环境的规则。
但是,Tup 不允许在 Tupfiles 中直接使用环境变量(您可以使用export
关键字将它们发送到子进程,但不能在run
语句中使用它们)。
如何在run
语句中使用环境变量?
我正在尝试运行给定环境变量的文件以生成一些特定于环境的规则。
但是,Tup 不允许在 Tupfiles 中直接使用环境变量(您可以使用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
关键字生成规则)。