2

Makefile's 我可以定义任务,以便用户可以指定他/她想要做什么:

make run
make serve
make deploy
..

这似乎工作正常,但我觉得Makefile's 对于所有这些依赖分析和相对晦涩的语法/执行来说,对于这个目的来说太过分了。是否有任何专门为此目的设计的语言/工具最好在大多数系统上提供?或任何想法如何bash为此目的使用类似的东西?

4

1 回答 1

5

所以在Arjun的建议下,我想出了一个sh脚本:

#!/usr/bin sh

# only one task at a time
if [ $# != 1 ]; then
    echo "usage: $0 <task_name>"
fi

run() {
    echo "I'm now running"
}

serve() {
    echo "I'm now serving"
}

deploy() {
    echo "I'm now deploying"
}

case $1 in
    "run")        run;;
    "serve")      serve;;
    "deploy")     deploy;;
esac

这比我想象的要容易得多。我已命名该文件task,以便我现在可以将任务运行为:

$ sh task serve
I'm now serving

或者如果文件是可执行的:

$ ./task deploy
I'm now deploying

声明中有一点重复,switch但对我来说已经足够了。如果它可以变得更好,请随时给我发表评论。

于 2012-10-09T08:38:34.183 回答