写一个简单的 CLI 工具
更新于 2026-05-14
技术
为什么写 CLI
有时候 GUI 太笨重,一个命令行工具就能解决的问题,没必要打开浏览器。
项目结构
Plain Text
my-cli/
├── Cargo.toml
├── src/
│ ├── main.rs
│ └── commands/
│ ├── mod.rs
│ ├── greet.rs
│ └── config.rs
用 clap 解析参数
Rust
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "my-cli")]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
/// 打招呼
Greet {
name: String,
},
/// 查看配置
Config,
}
发布到 GitHub Releases
配置 GitHub Actions 自动构建跨平台二进制:
YAML
name: Release
on:
push:
tags: ["v*"]
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cargo build --release
- uses: softprops/action-gh-release@v1
with:
files: target/release/my-cli*
效果
写完这个小工具之后,日常很多重复操作都自动化了。