3 个版本
0.1.2 | 2022年4月10日 |
---|---|
0.1.1 | 2022年4月10日 |
0.1.0 | 2022年4月10日 |
#5 in #confirm
205KB
95 代码行
Preexec Confirm
A zsh `middleware` forcing user to confirm before executing commands
with preconfigured texts/regex patterns.
演示
用户可以定义一个 YAML 配置文件,指定他们不希望意外执行的危险命令的关键词或正则表达式模式。例如,serverless deploy --stage prod-environment
当中间件检测到危险命令时,它会通过重新输入随机字符串强制用户确认,以避免肌肉记忆。
如果您想暂时忽略中间件,请导出环境变量 SKIP_CONFIRM=true
。
安装和使用
要求:
- 本项目仅适用于 Zsh。
- 需要 Cargo。
1. 从源码构建
cargo install preexec_confirm
# ensure the system recognizes preexec_confirm path
which preexec_confirm
## ~/.cargo/bin/preexec_confirm
2. 创建以下格式的 YAML 配置文件
- contain: string
description (optional): string
regex (optional): bool
- contain: 在命令中搜索的文本/正则表达式模式,取决于
regex
选项 - description: 解释为什么需要此规则
- regex: 如果设置为
true
,则contain
将被视为正则表达式模式
3. 确保以下行存在于您的 .zshrc
中,并按正确顺序排列
function preexec_confirm_hook() {
CONFIG_PATH="/home/anhtumai/.config/confirm/config.yml" #change this
preexec_confirm $CONFIG_PATH $1
}
autoload -Uz add-zsh-hook
add-zsh-hook preexec preexec_confirm_hook
卸载
- 运行
cargo uninstall preexec_confirm
- 从
.zshrc
中删除上述配置行
依赖项
~4–15MB
~164K SLoC