是否可以捕获 "command not found" 事件?
Is it possible to catch the "command not found" event?
我正在使用 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=
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}
我正在使用 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=
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}