跳转到内容

cnb-rs alias import

cnb-rs alias import [<FILE>] [--clobber]

从 TOML 文件或 stdin 批量导入 alias。对齐 gh alias import(gh 端用 YAML,cnb-rs 端用 TOML 与 config 保持一致)。

参数

  • [<FILE>]: 输入文件路径。不指定时从 stdin 读

选项

  • --clobber: 已存在的同名 alias 覆盖(默认 skip)

输入格式

纯 TOML 键值对,不要带 [aliases] header

toml
co = "pr checkout"
bug = "issue list --labels=\"$1\""
mine = "issue list --assignees=@me"
igrep = "!cnb-rs issue list --labels=\"$1\" | grep \"$2\""

每行一个 alias。expansion 以 ! 开头视为 shell 模式(与 set 行为一致)。

示例

bash
# 从文件导入
$ cnb-rs alias import my-aliases.toml
 导入完成:新增 4,覆盖 0,跳过 0(已存在但未加 --clobber)

# 从 stdin(PowerShell heredoc)
$ @"
co = "pr checkout"
v = "repo view"
"@ | cnb-rs alias import
 导入完成:新增 2,覆盖 0,跳过 0(已存在但未加 --clobber)

# 同名时默认 skip + warn
$ cnb-rs alias import my-aliases.toml
 导入完成:新增 0,覆盖 0,跳过 4(已存在但未加 --clobber)
 如需覆盖已存在的 alias,重跑加 --clobber

# --clobber 覆盖
$ cnb-rs alias import my-aliases.toml --clobber
 导入完成:新增 0,覆盖 4,跳过 0(已存在但未加 --clobber)

错误场景

bash
# 输入为空
$ "" | cnb-rs alias import
错误: 输入为空

# TOML 格式错误(如带了 [aliases] header)
$ "[aliases]`nco = \"pr checkout\"" | cnb-rs alias import
错误: 解析 TOML 失败;期望每行 `name = "expansion"` 格式,不要带 [aliases] header

# 文件不存在
$ cnb-rs alias import /nonexistent.toml
错误: 读取 /nonexistent.toml 失败

alias set 的对比

场景推荐
创建 1~2 个 aliasalias set,命令行直接传
一次创建 5+ aliasalias import,TOML 文件维护
团队共享 aliasalias import,TOML 文件 commit 到 dotfiles
CI 初始化alias import + stdin,pipe TOML 模板

另请参阅

Released under the MIT License.