🔥

Taskで、コマンドに複数の引数をつける方法

に公開

結論

タスク名に*を複数つける

サンプル

# Taskfile.yml
version: "3"

tasks:
    greet-*-*:
        desc: "複数引数のサンプル"
        vars:
            GREETING: "{{index .MATCH 0}}"
            NAME: "{{index .MATCH 1}}"
        cmds:
            - echo "{{.GREETING}} {{.NAME}}"

実行結果

$ task greet-hello-taro
task: [greet-*-*] echo "hello taro"
hello taro

解説

タスク名の*の引数は、.MATCH変数に格納される。

.MATCH変数にindexを指定して値を取得することができる。

引数で取得した値は、変数にいれるとわかりやすい。

参考

https://taskfile.dev/usage/#wildcard-arguments

Discussion