将 shell 脚本作为混​​合别名运行

ant*_*tor 4 elixir-mix elixir

如何将 shell 脚本作为混​​合别名运行?

我试过以下没有运气:

defp aliases() do
  [
    "test": [ "./scripts/test.sh" ]
  ]
end

defp aliases() do
  [
    "test": [ "scripts/test.sh" ]
  ]
end
Run Code Online (Sandbox Code Playgroud)

每个返回的变化为:

** (Mix) The task "./scripts/test" could not be found

Dog*_*ert 6

您可以Mix.Tasks.Cmd为此使用调用任务:

"test": ["cmd ./scripts/test.sh"]
Run Code Online (Sandbox Code Playgroud)
$ cat a.sh
#!/bin/bash
echo foo
$ cat mix.exs | grep test
      "test": ["cmd ./a.sh", "cmd echo bar"]
$ mix test
foo
bar
Run Code Online (Sandbox Code Playgroud)