太长了;博士
make
正在为我工作,但我正在寻找合适的工具。
我目前正在使用Makefile
s 作为我的项目的脚本运行程序。为了标准化每个项目,我只创建一个 makefile,以便我可以编写如下内容:
make setup
make teardown
make execute "SOMETHING"
在这种情况下,setup
可能会拉取并部署一堆 docker 容器,teardown
可能会清理它们,并对execute
容器运行命令。
我不习惯make
实际构建具有依赖关系的东西。这让我觉得我只是很老套……但是嘿,到目前为止它已经奏效了。
我不认为make
这是完成这项工作的正确工具,但我不知道是否有其他一些常见的二进制文件允许人们运行xyz command
,xyz
在这种情况下会在哪里制作。我不想为每个项目编写一个新的 bash 脚本,因为在我看来,这通常可读性要差得多。
我不喜欢make
吐出的东西:
make: *** No rule to make target FOO. Stop.
这通常是当我滥用make
处理参数时(例如make execute "do this in a container"
)。
有人对一个通用的 UNIX 工具有什么建议吗?它可以让我只指定一些要运行的命令?
答案1
您可以使用这样的脚本做一些简单的事情:
#!/bin/bash
function execute {
echo "Executing $1"
}
case "$1" in
"setup" )
echo "Setting up" ;;
"teardown" )
echo "Tearing down" ;;
"execute" )
shift
execute "$@"
;;
* )
echo "Usage: ..."
esac
shell 脚本的常见警告适用(注意变量扩展、错误处理)。