Вяч*_*нов 74 apt bash auto-completion
在某个时刻
apt-get install
Run Code Online (Sandbox Code Playgroud)
自动完成被破坏
通过Tab按查看包名称对我来说非常有用
如何修复此自动完成功能?
Ian*_*cks 110
如对另一个答案的评论所述,首先确保bash-completion已安装:
sudo apt-get install bash-completion
Run Code Online (Sandbox Code Playgroud)
显然对于@diapir,它有助于重新安装它:
sudo apt-get install --reinstall bash-completion
Run Code Online (Sandbox Code Playgroud)
但是,对我来说,问题不在于 bash-completion 没有安装或损坏,问题在于我不小心删除了我的.bashrc文件。您可以通过从/etc/skel以下位置复制来获得一个新的:
cp /etc/skel/.bashrc ~/
Run Code Online (Sandbox Code Playgroud)
Nur*_*Nur 37
输入以下命令:
sudo -H gedit /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)
寻找这些行:
# enable bash completion in interactive shells
# if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
# fi
Run Code Online (Sandbox Code Playgroud)
取消注释一些行,使其看起来像这样:
# enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Run Code Online (Sandbox Code Playgroud)
保存,关闭终端,然后重新打开它。
安装 13.04 后我遇到了这个问题,这就是我解决它的方法。
请注意此命令的输出:
apt-config dump | grep "Dir::Cache"
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
Dir::Cache "var/cache/apt";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Run Code Online (Sandbox Code Playgroud)
如果值为Dir::Cache::pkgcache空,apt 将无法自动完成包名称。查看您的/etc/apt/apt.conf.d/文件并搜索此键以确保它没有设置为空字符串。
grep -r pkgcache /etc/apt/apt.conf.d/
Run Code Online (Sandbox Code Playgroud)
也看看这个答案。
| 归档时间: |
|
| 查看次数: |
106830 次 |
| 最近记录: |