##功能 快速给自己的命令行添加自动补全功能,只需写一个json文件
- 初始化
git clone https://github.com/chenzhongtao/cli_completion.git
cd cli_completion
mkdir /etc/mycompletion
cp completion.py /etc/mycompletion
chmod +x /etc/mycompletion/completion.py
cp completion.sh /etc/bash_completion.d/
. /etc/bash_completion.d/completion.sh - 添加命令行相关的json文件
cp example/mycli.json /etc/mycompletion/
echo "complete -F __cmd_completion mycli" >> /etc/bash_completion.d/completion.sh
. /etc/bash_completion.d/completion.sh
假如你的命令行就做mycli,有两个一级命令,cmd1,cmd2,每个一级命令有两个二级命令sub11,sub12等,然后二级命令有些可选参数. 具体可以看example/mycli.json文件,命令用字典表示,参数用列表表示. 跟cmd1,cmd2同级的还有个--conf,表示全局参数.
如何你的命令行名字为hadoop, 先在/etc/mycompletion/下创建一个hadoop.json文件,规则可以参考mycli.json,然后执行
echo "complete -F __cmd_completion hadoop" >> /etc/bash_completion.d/completion.sh
. /etc/bash_completion.d/completion.sh
##costor添加命令联想功能
git clone https://github.com/chenzhongtao/cli_completion.git
cd cli_completion
mkdir /etc/mycompletion
cp completion.py /etc/mycompletion
chmod +x /etc/mycompletion/completion.py
cp completion.sh /etc/bash_completion.d/
cp example/costor.json /etc/mycompletion/
echo "complete -F __cmd_completion costor" >> /etc/bash_completion.d/completion.sh
echo "complete -F __cmd_completion ./costor" >> /etc/bash_completion.d/completion.sh
. /etc/bash_completion.d/completion.sh