Bash
如何在 Debian 上實施軟體包安裝建議?
我注意到在 Ubuntu 上,如果我輸入以下內容:
mc
並且它沒有安裝,我收到以下消息:
The program 'mc' is currently not installed. You can install it by typing: sudo apt-get install mc
但是在 Debian 中,這是不可用的。它只是給出一個“-bash: /usr/bin/mc: No such file or directory”消息。如何在 Debian 的 bash 命令行中實現相同的功能?是的,我知道如果是我想要的包建議,我可以簡單地使用apt-cache search進行正則表達式搜尋。但是,我希望在鍵入程序名稱時立即獲得更簡單的建議。
根據討論,該功能由包command-not-found提供。但是,即使在安裝了它並安裝了 bash-completion 包之後,Debian bash shell 也無法使用它。
安裝
command-not-found
沒有開始為未安裝的軟體包提供建議的原因是我在安裝過程中錯過了來自 dpkg 的一個小通知。一個應該在執行
update-command-not-found
後立即執行命令apt-get install command-not-found
。實際上 dpkg 會提示執行此命令。
debian 軟體包似乎不完整。自述文件說你應該
/etc/bash_command_not_found
在你的.bashrc
. 奇怪的是,該文件不包含在包中。debian
command-not-found
包基於ubuntu 包。ubuntu 包在這方面似乎更完整。ubuntu 版本的bash_command_not_found的內容:
command_not_found_handle() { if [ -x /usr/lib/command-not-found ]; then /usr/lib/command-not-found -- "$1" return $? else return 127 fi }
將這些行添加到您的
~/.bashrc
(or/etc/bash.bashrc
) 中,該command-not-found
功能應該可以工作。