edi*_*999 0 bash command-line alias
我正在使用bash,并想知道是否有可能捕获"-bash:gitb:command not found"事件以将其替换为您自己的处理程序.
例如,如果我跑,我会喜欢
gitb clone
而不是git clone
,它会自动纠正.
如果我可以捕获command not found
事件,检查命令是否git
以及第一个单词是4个字符长(或者我可以在bash脚本中输入任何类型的规则).
它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名.
它们是bash中的这种功能(我使用的是4.1版本)吗?任何其他想法赞赏!
如果未找到命令,bash
将执行该函数command_not_found_handle
(如果已定义).举个例子:
command_not_found_handle () {
cmd=$1
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}
Run Code Online (Sandbox Code Playgroud)