git
如果找不到命令,如何告诉我的 zsh 自动尝试前面的命令?例如,我想运行$ status
,如果没有status
in $PATH
,我的 zsh 应该尝试git status
。
这听起来很脆弱——你可能会养成键入foo
而不是键入的习惯git foo
,然后有一天会foo
出现一个新命令并且foo
不再调用git foo
——但它可以做到。当使用正常查找(别名、函数、内置、可执行文件PATH
)找不到命令时,zsh 会调用该command_not_found_handler
函数(如果已定义)。这个函数接收命令和命令的参数作为它的参数。
command_not_found_handler () {
git "$@"
}
Run Code Online (Sandbox Code Playgroud)
如果你想做一些更高级的过滤,命令是 in$1
并且它的参数可以被称为"$@[2,$#]"
.
command_not_found_handler () {
if …; then
git "$1" "$@[2,$#]"
fi
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
255 次 |
最近记录: |