优化Bash编程补全与初始化文件使用指南
1. 可编程补全功能介绍
可编程补全是在bash 2.04版本引入的一项功能,它通过为补全机制提供钩子来扩展内置的文本补全功能。这意味着你几乎可以编写任何想要的补全形式。例如,当你输入man命令时,按下Tab键就能列出手册章节,可编程补全就能实现这样的功能,并且还有更多用途。
2. 可编程补全基础操作
要实现特定方式的文本补全,首先需要通过complete命令告诉shell在按下Tab键时如何进行补全。complete命令的主要参数是一个名称,可以是命令名或其他你希望实现文本补全的内容。
以gunzip工具为例,它用于解压缩各种类型的压缩存档。通常,当你输入$ gunzip [TAB][TAB]时,会得到一个文件名列表用于补全,但其中包含很多不适合gunzip处理的文件。我们可以使用complete命令来设置只显示适合gunzip处理的文件子集:
complete -A file -X '!*.@(Z|gz|tgz)' gunzip注意,为了使@(Z|gz|tgz)生效,需要通过shopt -s extglob开启扩展模式匹配。
在这个命令中,