run.sh 日记 #1:自动化我的 Ubuntu 开发环境
Source: Dev.to
TL;DR
在这里查看 GitHub 仓库:
在全新的 Ubuntu WSL 安装后,只需运行:
./run.sh
……几分钟后即可开始编码。本文解释了我为何构建它以及你如何进行适配。
为什么选择 WSL?
- 在 Windows 上拥有快速的 Linux 开发环境,无需完整的虚拟机。
- 非常适合脚本、Docker 和开源工具链。
我是一名前端开发者,已转型为全栈工程师,拥有三年以上的经验。我的日常工作涵盖产品开发、开源贡献以及深入研究基础设施、CLI 工具和自动化。当前技术栈围绕 JavaScript/TypeScript、Vue,并逐渐加入 Rust、Python 以及 TUI/GUI 应用。
工作之外,我维护开源项目,尝试 Rust 工具,并偏爱 CLI‑first 工作流。Ubuntu 在 WSL 上是我进行 Node.js 项目、脚本、Rust 工具以及轻量容器工作的首选环境。
问题
我不断重新安装 Ubuntu(或在新设备上设置),并手动重复相同的步骤:
- 安装 APT 软件包。
- 调整 shell 配置。
- 添加 Node、Python、Docker、插件等。
即使机器内存充足、硬件现代,每次全新安装仍要耗费 1–2 小时。重复的过程让我产生了疑问:
“我到底为什么不把这件事自动化?”
解决方案:run.sh 引导脚本
我用 Bash 编写了一个模块化的 run.sh 引导脚本。这是我在大学课程之外的第一个真实项目,也一次性解决了两个问题:
- 自动化我每天都要执行的任务。
- 为我提供了实战的 Bash 脚本经验。
现在运行该脚本,只需几分钟即可启动一个干净、完整引导的 Ubuntu WSL 开发环境,拥有我精确的终端栈、开发工具和配置。
./run.sh
一次自动化,后续省时数小时。边做边学。
引导脚本包含哪些内容
- 软件包安装 – APT、Node(通过 nvm)、Python(通过 pyenv)、Docker 等。
- Shell 设置 – Zsh + Oh‑My‑Zsh、自定义
.zshrc、别名和提示主题。 - 编辑器/IDE 工具 – 带我偏好插件的 Neovim、tmux 配置以及语言服务器。
- 可选模块 – 通过编辑一个简单的配置文件即可轻松启用/禁用部分设置(例如 Rust 工具链、TUI 应用)。
如何进行适配
-
克隆仓库
git clone https://github.com/LazyDoomSlayer/os-bootstraps.git cd os-bootstraps -
检查
config.sh– 切换所需模块、修改版本,或添加自己的步骤。 -
运行引导脚本
./run.sh -
享受成果 – 环境已准备就绪,立刻开始编码。
展望
在第 2 部分,我将深入探讨 WSL 引导脚本的内部逻辑,解释每个模块的工作原理,并说明如何为自己的工作流进行扩展。