使用bash内置命令complete来实现参数补全

1. 代码如下:

#~/.bashrc
function _complete() {
  COMPREPLY=($(compgen -W "ab cd ef" "${COMP_WORDS[1]}"))
}
function func() {
    echo $1
}

complete -F _complete func

2. 执行效果

$ func <tab><tab>
ab  cd  ef
$ func a<tab>
ab

参考:
Bash Reference Manual
Creating a bash completion script

posted @ 2021-05-12 15:50  成民  阅读(529)  评论(0编辑  收藏  举报