背景介绍
最近在完成一个由linux shell脚本编写的工具时,发现在实现多个功能时,冗长的多个参数不仅难记而且大小写混杂,虽然“悉心”地写了完备的'-h'帮助文档,但是为了实现其中一个功能,仍然需要输入多个冗长的字符串来定位某个大选项下的小选项所对应的功能。
实现思路
在 linux shell 下本身有着体验极佳的命令补全功能,即。现通过自定义该程序的命令补全脚本实现命令补全。
基础介绍complete (补全命令)
重点说明
compgen(筛选命令)
用来筛选生成匹配单词的候选补全结果
重点说明:
compopt(修改补全命令设置)
用于修改补全命令设置,这个命令必须在补全函数中使用,否则会报错。
重点说明:
内置补全变量
除了上面三个命令外,Bash还有几个内置变量来辅助补全功能,如下:
实例
注:本示例只针对实际应用场景做了简单实现,做个思路引子。更多强大功能请自行研究( • ̀ω•́ )✧
complete_tool.sh :
Before:
导入补全脚本:
再次尝试
结语
可将编写好的脚本在用户根目录中进行调用,亦可放于下,这样在下次登录终端时即可自动自动补全脚本。
祝大家元旦快乐!
领取专属 10元无门槛券
私享最新 技术干货