TIP Bash completion
出自Gentoo Linux Wiki
| 终端/Shell • 网络 • X 窗口系统 • Portage • 系统 • 文件系统 • 内核 • 其它 |
目录 |
[编辑] 为什么要使用 bash-completion
它可以大大提高您的命令行工作效率。安装好之后,绝大多数命令均可以补齐命令行选项,省却了查看man的麻烦。还有很多命令可以直接补齐参数,而不必事先查看有哪些参数。几乎所有的命令你都可以尝试使用利用tab键来补齐。比如:
- cd[空格][tab],将只列出目录名字
- find[空格]-[tab],将显示所有以一个-开头的选项
- modprobe[空格][tab],将显示所有内核模块的名字
- emerge[空格]stardict[tab],将显示所有以stardict开头的软件包名
- mplayer
- [空格][tab],将会只列出所有媒体类型的文件
- [空格]-sub[空格][tab],又会自动补齐字幕文件的名字
- [空格]-vo[空格][tab],将会列出所有的视频输出插件的名字
[编辑] 安装并启用bash-completion
首先,编辑 /etc/make.conf 加入 bash-completion USE 标记。然后重新编译系统里所有支持这个 USE 标记的软件包:
| 代码: 重新编译所有含有bash-completion USE标记的软件 |
$ emerge -avuN world |
接着,安装 bash-completion 和 eselect:
| 代码: 安装 bash-completion 和 eselect |
$ emerge -av bash-completion eselect |
确保你的 ~/.bashrc 里有下面一行:
| 文件: ~/.bashrc |
[[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion |
最后source一下~/.bashrc:
| 代码: souce ~/.bashrc |
$ source ~/.bashrc |
[编辑] Portage相关的命令
为了给portage相关命令(比如emerge, equery, revdep-rebuild 等) 加上 tab 补齐功能,需要安装 gentoo-bashcomp
$ emerge gentoo-bashcomp
然后使用eselect提供的bashcomp-config来启用gentoo-bashcomp,并source ~/.bashrc:
| 代码: 启用gentoo-bashcomp |
$ bashcomp-config enable gentoo $ source ~/.bashrc |
[编辑] 其他命令
绝大多数命令在第一步之后就可以用上bash-completion了,不过有一部分需要手工启用,这些命令的列表可以这样查到
| 代码: 列出需要手工启用bash-completion的命令列表 |
$ bashcomp-config list |
如果你想启用 unrar 的补齐,可以这样做:
| 代码: 启用rar的bash-completion |
$ bashcomp-config enable unrar $ source ~/.bashrc |
