Unverified Commit fa1911f8 authored by 赵崇延's avatar 赵崇延 Committed by GitHub
Browse files

fix(command-not-found): show error in Ubuntu when no package is found (#9418)

parent 4f8964d8
...@@ -2,7 +2,22 @@ ...@@ -2,7 +2,22 @@
# as seen in https://www.porcheron.info/command-not-found-for-zsh/ # as seen in https://www.porcheron.info/command-not-found-for-zsh/
# this is installed in Ubuntu # this is installed in Ubuntu
[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handler {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "zsh: command not found: %s\n" "$1" >&2
return 127
fi
return 0
}
fi
# Arch Linux command-not-found support, you must have package pkgfile installed # Arch Linux command-not-found support, you must have package pkgfile installed
# https://wiki.archlinux.org/index.php/Pkgfile#.22Command_not_found.22_hook # https://wiki.archlinux.org/index.php/Pkgfile#.22Command_not_found.22_hook
...@@ -10,13 +25,12 @@ ...@@ -10,13 +25,12 @@
# Fedora command-not-found support # Fedora command-not-found support
if [ -f /usr/libexec/pk-command-not-found ]; then if [ -f /usr/libexec/pk-command-not-found ]; then
command_not_found_handler () { command_not_found_handler() {
runcnf=1 runcnf=1
retval=127 retval=127
[ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0 [ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0
[ ! -x /usr/libexec/packagekitd ] && runcnf=0 [ ! -x /usr/libexec/packagekitd ] && runcnf=0
if [ $runcnf -eq 1 ] if [ $runcnf -eq 1 ]; then
then
/usr/libexec/pk-command-not-found $@ /usr/libexec/pk-command-not-found $@
retval=$? retval=$?
fi fi
...@@ -32,7 +46,7 @@ fi ...@@ -32,7 +46,7 @@ fi
# NixOS command-not-found support # NixOS command-not-found support
if [ -x /run/current-system/sw/bin/command-not-found ]; then if [ -x /run/current-system/sw/bin/command-not-found ]; then
command_not_found_handler () { command_not_found_handler() {
/run/current-system/sw/bin/command-not-found $@ /run/current-system/sw/bin/command-not-found $@
} }
fi fi
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment