在Makefile
's 我可以定义任务,以便用户可以指定他/她想要做什么:
make run
make serve
make deploy
..
这似乎工作正常,但我觉得Makefile
's 对于所有这些依赖分析和相对晦涩的语法/执行来说,对于这个目的来说太过分了。是否有任何专门为此目的设计的语言/工具最好在大多数系统上提供?或任何想法如何bash
为此目的使用类似的东西?
在Makefile
's 我可以定义任务,以便用户可以指定他/她想要做什么:
make run
make serve
make deploy
..
这似乎工作正常,但我觉得Makefile
's 对于所有这些依赖分析和相对晦涩的语法/执行来说,对于这个目的来说太过分了。是否有任何专门为此目的设计的语言/工具最好在大多数系统上提供?或任何想法如何bash
为此目的使用类似的东西?
所以在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
但对我来说已经足够了。如果它可以变得更好,请随时给我发表评论。