Ini adalah kelalaian dalam bash-complete
paket, bukan apt
. Sepertinya penyelesaian belum ada, jadi saya sudah membatalkan apa yang saya bisa untuk apt
perintah (itu bukan perintah terbaik yang pernah ada!)
Berikut ini adalah adaptasi dari apt-get
penyelesaian yang ada (dengan elemen dilucuti dan bit ditambahkan dari apt-cache
penyelesaian). Jalankan sudoedit /usr/share/bash-completion/completions/apt
dan tempel berikut ini:
# 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
Kemudian jalankan source ~/.bashrc
untuk memuat penyelesaian. Maka apt show firef
+ Tabharus lengkap.
Ini mungkin menawarkan opsi yang tidak ada lagi. Saya pikir saya sudah dipaku perintah utama (yang mungkin berubah dalam waktu) tapi setidaknya itu akan membantu Anda dengan perintah umum: list
search
show
update
install
remove
upgrade
full-upgrade
edit-sources
dist-upgrade
purge
.
Jelas, jika pengelola bash-completion ingin menangkap hal di atas, Anda dipersilakan untuk itu di bawah GPL (meskipun saya akan tergoda untuk memulai dari yang baru setelah apt
didokumentasikan!)