Tại một số thời điểm
apt-get install
tự động hoàn thành đã bị hỏng
Nó rất hữu ích cho tôi để xem tên gói với Tabbáo chí
Làm thế nào để sửa chữa tự động hoàn thành này?
Tại một số thời điểm
apt-get install
tự động hoàn thành đã bị hỏng
Nó rất hữu ích cho tôi để xem tên gói với Tabbáo chí
Làm thế nào để sửa chữa tự động hoàn thành này?
Câu trả lời:
Như đã nêu trong các ý kiến cho câu trả lời khác, trước tiên hãy đảm bảo rằng nó đã bash-completion
được cài đặt:
sudo apt-get install bash-completion
và rõ ràng cho @diapir, nó đã giúp cài đặt lại nó:
sudo apt-get install --reinstall bash-completion
Tuy nhiên, đối với tôi, vấn đề không phải là việc hoàn thành bash không được cài đặt hay bị hỏng, vấn đề là tôi đã vô tình xóa .bashrc
tệp của mình . Bạn có thể lấy một cái mới bằng cách sao chép nó từ /etc/skel
:
cp /etc/skel/.bashrc ~/
sudo
trên chmod
lệnh là không cần thiết, phải không?
/etc/
là 0644/-rw-r--r--
với người sử dụng: group = root:root
, và khi sao chép vào thư mục người dùng của bạn, sẽ tự động chuyển cho người sử dụng: hướng dẫn
Gõ lệnh sau:
sudo -H gedit /etc/bash.bashrc
Hãy tìm những dòng này:
# 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
Bỏ ghi chú một số dòng, để làm cho nó trông như thế này:
# 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
Lưu, đóng thiết bị đầu cuối, sau đó mở lại.
Tôi gặp vấn đề này sau khi cài đặt 13.04 và đó là cách tôi giải quyết nó.
Tải về bản phát hành ổn định mới nhất từ http://bash-completion.alioth.debian.org/
./configure
make
sudo make install
chèn
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
đến ~ / .bashrc
bash-completion
là trong các gói - có bất kỳ lý do bạn làm nó bằng tay? Gói nên thực hiện khá chính xác điều này :)
sudo apt-get install --reinstall bash-completion
đã làm điều đó cho tôi.
bashrc
tập tin.
Lưu ý rằng đầu ra của lệnh này:
apt-config dump | grep "Dir::Cache"
Nên là một cái gì đó như thế này:
Dir::Cache "var/cache/apt";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Nếu giá trị Dir::Cache::pkgcache
là trống, apt sẽ không thể tự động hoàn thành tên gói. Hãy xem các /etc/apt/apt.conf.d/
tệp của bạn và tìm kiếm khóa này để chắc chắn rằng nó không được đặt thành chuỗi trống.
grep -r pkgcache /etc/apt/apt.conf.d/
Cũng hãy xem câu trả lời này .