3、环境准备:安装必要工具(Make、Shell、Python),配置PATH与别名
好,咱们正式开始动手了。这一节其实特别关键——很多人觉得环境准备就是装个软件,没什么好讲的。但我跟你说,环境配得好,后面少踩一半的坑。我自己带团队的时候,新人入职第一件事就是跟我一起过这个流程,省得后面出问题到处找原因。
3.1 为什么这三样是标配?
你想想看,我们要做「自定义命令与目标联动」,本质上就是让系统自动执行一系列操作。那谁来调度?Make。谁来写逻辑?Shell。谁来处理复杂数据?Python。这三样东西组合起来,几乎能覆盖你工作中 90% 的自动化场景。
我见过不少团队,有人用纯 Shell 写上千行的脚本,有人用 Python 硬写 Makefile 的逻辑——其实都不对。正确的做法是:Make 做编排,Shell 做系统调用,Python 做复杂处理。各司其职,清晰又高效。
3.2 安装 Make
Make 这个东西,说白了就是一个任务调度器。你告诉它「先做 A,再做 B,如果 C 文件变了就重新编译」,它就能老老实实帮你干完。
macOS
macOS 自带了 Make,但版本可能比较老。我建议用 Homebrew 更新一下:
brew install make
装完之后检查版本:
make --version
嗯,看到 GNU Make 4.x 就对了。我记得有一次在 macOS 上遇到一个诡异的 bug,折腾了半天才发现是系统自带的旧版 Make 不支持某些语法——从那以后我都是先升级再干活。
Linux(Ubuntu/Debian)
sudo apt update
sudo apt install build-essential
build-essential 这个包会把 Make、GCC 等编译工具一起装上,省心。
Windows
Windows 用户我推荐用 Chocolatey 安装:
choco install make
或者直接装 Git Bash,里面也带了 Make。我个人习惯用 Git Bash,因为它的 Shell 环境跟 Linux 更像,后面写脚本也方便。
make -v,如果看到版本号,说明安装成功。如果提示「命令未找到」,八成是 PATH 没配好——别急,下面会讲。
3.3 安装 Shell 环境
Shell 是咱们跟系统交互的桥梁。说实话,现在主流的选择就两个:Bash 和 Zsh。
我个人更推荐 Zsh,原因很简单:插件生态好,自动补全强,主题好看。但如果你习惯了 Bash,完全没问题——核心语法几乎一样。
macOS
从 macOS Catalina 开始,默认 Shell 就是 Zsh 了。你可以确认一下:
echo $SHELL
如果输出 /bin/zsh,那就直接用。如果是 Bash,我建议切到 Zsh:
chsh -s /bin/zsh
Linux
sudo apt install zsh
chsh -s /usr/bin/zsh
装完之后重启终端,你会看到 Zsh 的初始配置向导。按 q 跳过,后面再慢慢调。
Windows
Windows 用户我强烈建议装 Git Bash 或者 WSL2。Git Bash 轻量,WSL2 更完整。如果你要做复杂的自动化,WSL2 是更好的选择。
3.4 安装 Python
Python 的作用是处理那些 Shell 搞不定的复杂逻辑——比如解析 JSON、操作 Excel、调用 API 等等。
macOS / Linux
# 检查是否已安装
python3 --version
# 如果没有,用包管理器安装
brew install python3 # macOS
sudo apt install python3 # Linux
Windows
去 python.org 下载安装包,安装时记得勾选 「Add Python to PATH」。这一步很多人会忘,导致后面在终端里打 python 没反应。
pip 和 virtualenv。后面写自动化脚本时,虚拟环境能帮你隔离依赖,避免「在我电脑上能跑啊」的尴尬。
python3 -m pip install --upgrade pip
python3 -m pip install virtualenv
3.5 配置 PATH
PATH 是什么?说白了就是系统找命令的「通讯录」。你输入 make,系统就去 PATH 里列出的目录挨个找,找到了就执行。
配置 PATH 其实很简单,打开你的 Shell 配置文件:
- Bash 用户:
~/.bashrc或~/.bash_profile - Zsh 用户:
~/.zshrc
然后在文件末尾加上:
export PATH="$HOME/bin:/usr/local/bin:$PATH"
这行命令的意思是:优先找用户目录下的 bin,再找 /usr/local/bin,最后找系统默认路径。这样你安装的自定义工具就能覆盖系统自带的版本。
ls 都报错。那叫一个慌。后来学乖了:改 PATH 之前先备份配置文件,或者用 export PATH=/usr/bin:/bin:$PATH 兜底。
3.6 配置别名(Alias)
别名这东西,用好了能让你效率翻倍。说白了就是给长命令起个短名字。
比如我每天都要进项目目录,然后激活虚拟环境:
alias proj="cd ~/workspace/my-project && source venv/bin/activate"
以后只要在终端输入 proj,一步到位。
再比如,我经常要查看磁盘使用情况:
alias dfh="df -h | grep -v tmpfs"
这样打 dfh 就能看到干净的磁盘信息,不会被一堆临时文件系统刷屏。
配置别名也是在 ~/.zshrc 或 ~/.bashrc 里加:
# 我的常用别名
alias ll="ls -lah"
alias gs="git status"
alias gp="git pull"
alias py="python3"
alias m="make"
加完之后记得 source ~/.zshrc 让它生效。
3.7 验证环境
好,装完了也配完了,咱们来验证一下。写一个简单的测试:
# 创建一个测试目录
mkdir -p ~/test-env && cd ~/test-env
# 创建一个 Makefile
cat > Makefile << 'EOF'
.PHONY: hello
hello:
@echo "Make works!"
@python3 -c "print('Python works!')"
EOF
# 运行
make hello
如果看到两行输出:
Make works!
Python works!
那就说明环境全部就绪。如果报错,别慌——检查一下 PATH 配置,或者看看是不是少了某个工具。
3.8 小结
这一节的内容其实不难,但很重要。我见过太多人跳过环境准备直接写代码,结果后面花了两倍的时间在排查「为什么我的命令找不到」「为什么 Python 版本不对」这类问题上。
记住一句话:环境配好,事半功倍;环境乱配,天天崩溃。
下一节咱们就开始写第一个 Makefile 了——到时候你会觉得,前面这些准备工作,值。