我发现了如何通过添加到我的来允许“ ... command not found but can be installed with...
”出现在 Oh-my-zsh 中。source /etc/zsh_command_not_found
.zshrc
但是现在,当我输入一个不存在的命令但没有“...可以安装”消息时,没有输出,就好像我输入了一个没有输出的命令一样。
原始(预期)行为:
~$ Non_existant_command
Non_existant_command: command not found
~$
新的(不需要的)行为:
~$ Non_existant_command
~$
总的来说,我希望 bash 中的“未找到命令,但可以安装”消息出现在 zsh 中(或我正在使用的任何 shell)
答案1
这似乎是因为/etc/zsh_command_not_found
调用了/usr/lib/command-not-found
以下--no-failure-msg
选项:
% cat /etc/zsh_command_not_found
# (c) Zygmunt Krynicki 2007,
# Licensed under GPL, see COPYING for the whole text
#
# This script will look-up command in the database and suggest
# installation of packages available from the repository
if [[ -x /usr/lib/command-not-found ]] ; then
if (( ! ${+functions[command_not_found_handler]} )) ; then
function command_not_found_handler {
[[ -x /usr/lib/command-not-found ]] || return 1
/usr/lib/command-not-found --no-failure-msg -- ${1+"$1"} && :
}
fi
fi
在哪里
% /usr/lib/command-not-found --help
Usage: command-not-found [options] <command-name>
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-d DATA_DIR, --data-dir=DATA_DIR
use this path to locate data fields
--ignore-installed, --ignore-installed
ignore local binaries and display the available
packages
--no-failure-msg don't print '<command-name>: command not found'
如果您希望显示该消息,您可以制作zsh_command_not_found
脚本的本地副本,编辑它以删除该选项,然后源那反而。