我在完成和 sudo apt-get 方面遇到了一个恼人的问题。
举个例子:
$ sudo apt-get in[Tab][Tab]
in intel_bios_reader
includeres intel_disable_clock_gating
indicator-multiload intel_dpio_read
info intel_dpio_write
infobrowser intel_error_decode
infocmp intel_forcewaked
infokey intel_gpu_abrt
infotocap intel_gpu_time
inimf intel_gpu_top
init intel_gtt
init-checkconf intel_l3_parity
initctl intel_reg_checker
initctl2dot intel_reg_dumper
initex intel_reg_read
inkscape intel_reg_snapshot
inkview intel_reg_write
inputattach intel_sprite_on
insmod intel_stepping
install intel_upload_blit_large
install-docs intel_upload_blit_large_gtt
installfont-tl intel_upload_blit_large_map
install-info intel_upload_blit_small
installkernel interdiff
--More--
仅使用 apt-get 或以 root 身份执行均可正常工作:
$ apt-get in[Tab]stall
$ sudo -i
[sudo] password for davide:
root@brenna:~# apt-get in[Tab]stall
那么问题出在 sudo 之后使用自动完成功能吗?其实不然,因为
$ sudo apt-[Tab][Tab]
apt-add-repository apt-extracttemplates apt-key
apt-cache apt-file apt-mark
apt-cdrom apt-ftparchive apt-sortpkgs
apt-config apt-get
总而言之,问题似乎在于同时使用 sudo 和程序选项的自动完成功能。
对此有什么好的建议吗?
答案1
我发现了问题。
那是因为我
complete -cf sudo
在我的 ~/.bashrc 中。
我真的不知道这是什么意思,但我很确定很久以前我就添加了它,以便使自动完成功能与 sudo 一起工作。
我认为新版本不再需要它了,这是一个好消息!:D
所以,这个问题解决了。