在Makefile
中,我可以定义任务,以便用户可以指定他/她想要做的事情:
make run
make serve
make deploy
..
这似乎工作正常,但我觉得Makefile
对于这个目的而言是一种过度杀伤,所有这些依赖性分析和相对模糊的语法/执行。是否有任何专门为此目的而设计的语言/工具,大多数系统都可以使用?或任何想法如何使用像bash
这样的目的?
答案 0 :(得分:4)
因此,在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
声明中只有一点点重复,但这对我来说已经足够了。如果可以做得更好,请随时给我发表评论。