我正在使用bash,并想知道是否有可能捕获" -bash:gitb:命令未找到"用自己的处理程序替换它的事件。
例如,如果我跑
,我会喜欢 gitb clone
代替git clone
,它会自动更正。
如果我能抓住command not found
事件,检查命令是否以git
开头,第一个字是4个字符长(或者我可以在bash中输入任何类型的规则)脚本)。
它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名。
它们在bash中是否具有此功能(我使用的是4.1版本)? 任何其他想法赞赏!
答案 0 :(得分:5)
如果找不到命令,bash
将执行函数command_not_found_handle
(如果已定义)。举个例子:
command_not_found_handle () {
cmd=$1
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}