Cam*_* R. 5 bash command-not-found
我要让提示,如终端定制的“未找到命令”这一项。我设置了模板:
___________________________________________ / 我看到你正在尝试使用终端...... \ | 未找到命令: | | | | xxx | | | _____ ____________________________________/ v ??? ? ? ??? ???
我希望将“xxx”替换为不正确的命令。我怎么能做到这一点?
当 bash 找不到命令名称时,它会command_not_found_handle
使用原始命令及其参数作为参数执行该函数。所以定义你自己的。这进入您的~/.bashrc
. 确保打印到标准错误,而不是标准输出,并返回相同的退出状态,否则这可能会破坏在该 bash 实例中执行的 shell 脚本片段。
command_not_found_handle () {
local cmd
printf -v cmd "%-40s" "${cmd:0:40}"
cat >&2 <<EOF
___________________________________________
/ I see you're trying to use the terminal … \
| Command not found: |
| |
| $cmd |
| |
_____ ____________________________________/
v
???
? ?
???
???
EOF
return 127
}
Run Code Online (Sandbox Code Playgroud)