如何通过命令行向Go-Task(Taskfile)传递自定义变量?
Go-Task命令行传递变量的正确方式
你设想的vars=CERT_PATH:value;CERT_KEY:value这种格式不可行,因为Go-Task没有内置解析这种自定义参数的逻辑。
想要传递CERT_PATH、CERT_KEY这类变量,有两种官方支持的方式:
直接通过环境变量传递:
在执行任务前先设置环境变量,命令格式如下:CERT_PATH=value CERT_KEY=value task MyTaskName -- ARG1 ARG2 ARG3这样在你的Taskfile配置里,就能用
{{.CERT_PATH}}和{{.CERT_KEY}}直接引用这些变量,同时--后面的ARG1、ARG2、ARG3依然会被放到.CLI_ARGS里供任务使用。使用Go-Task内置的
--var(简写-v)参数:
这个参数专门用来传递任务变量,多个变量可以重复使用该参数,命令格式如下:task MyTaskName -v CERT_PATH=value -v CERT_KEY=value -- ARG1 ARG2 ARG3这种方式比环境变量更明确,Taskfile里同样用
{{.CERT_PATH}}来获取对应的值,.CLI_ARGS的使用不受影响。
内容的提问来源于stack exchange,提问作者DAG
相关产品推荐
相关产品推荐

