技术解析

尝试解决 openSUSE 下 zypper [install/remove/update] 时软件包名称自动补全的问题
0
1975-02-26 14:45:20
idczone
一年前从debian 换到opensese的时候,很不习惯zypper在安装软件包的时候不能自动补全,添加到todolist里面,后来停用evernote 给忘记了,前几天上去整理笔记发现了,所以尝试性得解决了下,另外顺带修了一个小bug,repo自动补全列表不全的问题。
bash自带补全功能,要达到更好的补全效果需要安装bash-completion这个软件包,然后编写对应的补全脚本。软件包名词的自动补全问题主要就是怎么快速的获取软件包的名称,然后作为列表供选。
一开始我是用zypper search 来获取,速度不堪忍受,(apt-get,aptitude 等的自动补全脚本是用apt-cache来获取,速度很快)。后来看了下libzypp,又看到 zypp-NameReqPrv 这个工具,试了下。
使用openSUSE的同学可以试一试,把下面这份脚本拷贝至 "/etc/bash_completion.d/zypper.sh" :


速度快了一些,基本可以用了,不过感觉还不是太理想,特别是zypper install 的时候,不知还有什么改进的途径?
少年你想多了,zsh轻松解决。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服