别名配置
类型定义
alias.types.ts
别名对象类型
Key 命名规则
普通字段
- key 不能包含
@或.,违规则被忽略 - 支持中文 key 名
- key 支持嵌套分组(dict),通过
.分隔符访问
前缀系统字段
通过 $ 前缀系统字段配置别名:
Note
$cmd 开头的 object 为别名叶子节点。仅有 $cwd / $interactive 而无 $cmd 的 object 为带继承属性的分组节点。$priority 为文件保留字段。
工作目录 cwd
支持三级继承:文件级 → 分组级 → 别名级,优先级逐级递增(别名自己的 $cwd 覆盖分组级,分组级覆盖文件级)。
交互模式
交互模式适合需要逐步确认参数或执行危险命令的场景。开启后逐项提示输入占位符值,最后确认执行。
$interactive 同样支持三级继承:文件级 → 分组级 → 别名级。
Tip
交互和非交互模式 header 和 final 行格式完全一致。交互只是多了 ~ 前缀的输入区和确认步骤。
调用示例
别名文件
byk 扫描当前目录和全局目录下所有 *.byk.json 文件,自动合并为一个统一的别名空间。
文件命名规范
Warning
name 合法字符:字母、数字、-、_、中文。
禁止字符:.、@、/、空格及其他特殊符号。
非法命名的文件(如 aaa.bbb.byk.json)会被静默跳过,不报错。
目录结构
本地目录(当前工作目录,不递归扫描子目录):
.
run.byk.json
release.byk.json
.byk.json
全局目录:
~/.byk/alias
alias.byk.json
work.byk.json
.byk.json
优先级
所有文件合并为一个统一的 key 空间,高优先级文件的同名 key 覆盖低优先级。
默认优先级
同优先级文件按文件名字母序加载,后者覆盖前者,行为确定。
自定义优先级
通过 $priority 字段声明,可打破默认规则:
任意 .byk.json
Note
$priority 为保留字段,不会被解析为别名 key。设为负数(如 -1)的文件不参与优先级合并,仅可通过精确语法调用。
精确执行语法
日常使用直接 byk <key>。当需要精确指定执行哪个文件中的别名时:
约定:
@语法只做文件路由,不做任何 fallback- 文件不存在 → 报错,不自动查找其他位置
- 文件存在但 key 不存在 → 报错
- Key 名不能包含
@,违反则静默跳过
精确执行示例