Dies ist eine Auslassung im bash-complete
Paket, nicht apt
. Es scheint nur, dass eine Vervollständigung noch nicht existiert, also habe ich zusammengeschrottet, was ich kann für den apt
Befehl (es ist nicht der am besten dokumentierte Befehl, der jemals existiert hat!)
Das Folgende ist eine Anpassung aus der vorhandenen apt-get
Vervollständigung (mit ausgeblendeten Elementen und hinzugefügten Bits aus apt-cache
der Vervollständigung). Führen Sie sudoedit /usr/share/bash-completion/completions/apt
Folgendes aus und fügen Sie es ein:
# Debian apt(8) completion -*- shell-script -*-
_apt()
{
local cur prev words cword
_init_completion || return
local special i
for (( i=0; i < ${#words[@]}-1; i++ )); do
if [[ ${words[i]} == @(list|search|show|update|install|remove|upgrade|full-upgrade|edit-sources|dist-upgrade|purge) ]]; then
special=${words[i]}
fi
done
if [[ -n $special ]]; then
case $special in
remove|purge)
if [[ -f /etc/debian_version ]]; then
# Debian system
COMPREPLY=( $( \
_xfunc dpkg _comp_dpkg_installed_packages $cur ) )
else
# assume RPM based
_xfunc rpm _rpm_installed_packages
fi
return 0
;;
*)
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \
2> /dev/null ) )
return 0
;;
esac
fi
case $prev in
-c|--config-file)
_filedir
return 0
;;
-t|--target-release|--default-release)
COMPREPLY=( $( apt-cache policy | \
command grep "release.o=Debian,a=$cur" | \
sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
return 0
;;
esac
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y -u -t -b -c -o
--download-only --fix-broken --help --version --ignore-missing
--fix-missing --no-download --quiet --simulate --just-print
--dry-run --recon --no-act --yes --assume-yes --show-upgraded
--only-source --compile --build --ignore-hold --target-release
--no-upgrade --force-yes --print-uris --purge --reinstall
--list-cleanup --default-release --trivial-only --no-remove
--diff-only --no-install-recommends --tar-only --config-file
--option --auto-remove' -- "$cur" ) )
else
COMPREPLY=( $( compgen -W 'list search show update install
remove upgrade full-upgrade edit-sources dist-upgrade
purge' -- "$cur" ) )
fi
return 0
} &&
complete -F _apt apt
# ex: ts=4 sw=4 et filetype=sh
Führen Sie dann aus source ~/.bashrc
, um die Vervollständigung zu laden. Dann sollte apt show firef
+ Tababgeschlossen sein.
Dies kann Ihnen Optionen bieten, die es einfach nicht mehr gibt. Ich glaube , ich habe die wichtigsten Befehle genagelt (die in der Zeit ändern könnte) , aber zumindest wird es Ihnen mit den gemeinsamen Befehlen helfen: list
search
show
update
install
remove
upgrade
full-upgrade
edit-sources
dist-upgrade
purge
.
Offensichtlich wenn eine bash-completion Maintainer will die oben, Sie ist willkommen , um es unter dem GPL nab (obwohl ich versuche sein würde zu starten aus frischen einmal apt
dokumentiert!)