自动化脚本不光 bash,还有 make、just、mise...
时间:2026-8-15 01:39 作者:独元殇 分类: 开发相关
AI 时代了,我们不用关注什么细节了。自动化脚本如何编写?AI 编写就行了,时代一句回不去了,回不到花一天半载去手搓自动化脚本的时代了。
现在我们可以关注,一些更大层面的东西。
我今天讲点有意思的东西。脚本,不光 bash , 还有很多别的!对大家以后,让 AI 办事儿,写提示词有用。
命令行执行任务,可以选择不同的执行方式,比如自己写 Bash 脚本,或者用 make、just、mise 等任务执行工具。
各有优点和缺点。不要局限在一个地方。
首先是 BASH
Bash 是 Linux 和 Mac 的默认 Shell(命令行环境),系统管理和服务器开发都需要它。虽然不难,但是语法很怪异.... bash 这个就是命令行,只不过写成了文件:
#!/bin/bash
# 早安速览:一行一条信息,共七行整(macOS 兼容)
echo "早安!今日: $(date '+%F %A')"
echo "开机时长: $(uptime | sed -E 's/^.*up //; s/,.*//')"
echo "内存占用: $(vm_stat | awk '/page size of/{ps=$8} /Pages free/{gsub(/\./,"",$3); f=$3} END{printf "%.1f GB 空闲", f*ps/1073741824}')"
echo "磁盘占用: $(df -h / | awk 'NR==2{print $5}')"
echo "当前目录: $(pwd)"
echo "祝您今天写码不加班,BUG 全退散!"
入门的话,很推荐阮一峰的整理的教程: https://wangdoc.com/bash/ 当然,现在 2026 年了,直接用 AI 写就行了。
你只要把这个文件,一你喜欢的名字,比如 demo. sh,保存到某个目录下(其实也可以保存在 bin 目录下,差不多,很多外国人喜欢存那里),然后使用 run 命令就能运行。
# 注意,要先使用下面的命令,使其可执行,比如
chmod +x /Users/root/studio/demo.sh
# 之后,你就可以直接当成「可执行文件」那样,直接运行了
cd /Users/root/studio/
./demo.sh
这个 bash 好啊!
它也是现在很多 AGENT 的首选驱动语言,优点就是很灵活(缺点就是语法很丑,当然现在是 AI 在写),由于它就是伴随着计算机的成长,好几十年了,它相当的成熟,可以执行相当复杂、相当强大的任务。当然,威力也很大,只要有了管理员权限,别说数据库,几个字符就能摧毁一台电脑。
第二个,是 make 和 just
学 C 语言的,一般都对 make 命令很熟悉。编译的时候会用到,也是用于自动化。
它里面的文化也很深,很强大。
这个英文的网站,很适合我们去学习: https://makefiletutorial.com/
是的,它其实是一种很专业成熟的,专门为 自动化 设计的语言。它每次运行时会找本文的 Makefile 文件,我们的自动化指令就写在这个文件里,长这样:
# Makefile:make 自动化示例(运行 + 清理)
all: run
run:
/Users/root/studio/demo.sh
clean:
rm -f /tmp/make-demo.txt
@echo "清理完成,任务收工!"
当然,这个是个简单的例子。
但是,它的语法要比 bash 更加的易于写。是古代程序员,专门为 自动化 设计的语言。
不过,要使用 tab 来缩进,而不是空格。之后,我们在黑漆漆的终端上,敲 make run 或者 make clean 就可以执行相应的命令了。
不过,现在有个 make 的进阶改良版,也就是 just 。阅读: https://github.com/casey/just/blob/master/README.%E4%B8%AD%E6%96%87.md
这个是它的中文文档。
但是,生产环境,我建议使用更加成熟的 make 。
第三个自动化工具是 mise
这个是更加先进的 自动化 工具。
它跟 make 差不多,但是支持的功能更丰富,能锁定 Node、Python、Go 等工具版本,统一加载环境等等,主要的目标,就是 环境契约 一致.... 换言之,就是稳定性更强。。。
它是一个允许你安装软件包、管理开发者工具(及特定版本)、管理环境变量,以及 运行任务 的工具。
运行,跟 make 差不多,只不过换成 mise ,它的载体是 mise .toml 文件,里面长这个样子:
[tools]
node = "24"
python = "3.13"
[env]
NODE_ENV = "development"
[tasks.test]
run = "pytest"
[tasks.build]
run = "npm run build"
但是很可惜,2022 年,大洋彼岸有个叫美利坚的地方,有个小伙叫 奥特曼 ,他 发布了一个叫 ChatGPT 3.5 的项目。
之后 2025 年春天,有个 A 开头的公司,搞了个 Claude code 。从此,这个自动化工具,就不好发展了。毕竟 AI 写 bash 跟喝水一样简单。
之后, 其实存在感很差了。。 不过,感兴趣可以去官网研究一下: https://mise.jdx.dev/