Bash 有没有可能赶上那辆车;“未找到命令”;事件
我正在使用bash,想知道是否有可能捕获“-bash:gitb:command not found”事件,用您自己的处理程序替换它 例如,如果我跑步的话,我会喜欢的Bash 有没有可能赶上那辆车;“未找到命令”;事件,bash,command-line,alias,Bash,Command Line,Alias,我正在使用bash,想知道是否有可能捕获“-bash:gitb:command not found”事件,用您自己的处理程序替换它 例如,如果我跑步的话,我会喜欢的 gitb clone将自动更正它,而不是git clone 如果我可以捕获命令未找到事件,检查命令是否以git开头,第一个单词是否有4个字符长(或者我可以在bash脚本中输入任何类型的规则) 它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名 它们在bash中是否具有这样的功能(我使用的是4.1版)? 任何其他想法,谢
gitb clone
将自动更正它,而不是git clone
如果我可以捕获命令未找到
事件,检查命令是否以git
开头,第一个单词是否有4个字符长(或者我可以在bash脚本中输入任何类型的规则)
它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名
它们在bash中是否具有这样的功能(我使用的是4.1版)?
任何其他想法,谢谢 当找不到命令时,
bash
将执行函数command\u not\u found\u handle
,如果已定义。例如:
command_not_found_handle () {
cmd=$1
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}
如果未找到命令,
bash
将执行函数command\u not\u found\u handle
(如果已定义)。例如:
command_not_found_handle () {
cmd=$1
shift
if [[ ${#cmd} -gt 3 && $cmd = git* ]]; then
git "$@"
else
return 127
fi
}
看起来我把
command\u not\u found\u handle
和PROMPT\u command
搞混了。更新。是否可以在找到命令时捕获事件(例如,这样我也可以将git clne
重写为git clone
),没有内置的处理程序;但对于git
,您可以编写一个简单的包装函数来纠正子命令中的小错误。这就是git别名通常用于的功能:git config--global alias.clne clone
。看起来我把命令_not_found_handle
与提示符_命令
混淆了。更新。是否可以在找到命令时捕获事件(例如,这样我也可以将git clne
重写为git clone
),没有内置的处理程序;但是对于git
,您可以编写一个简单的包装函数来纠正子命令中的小错误。这就是git别名通常用于的功能:git config--global alias.clne clone
。