小编Pun*_*eth的帖子

如何自动完成嵌套的多级子命令?

我正在尝试为我自己的命令集开发自动完成或制表符完整功能.

例如,假设foo是我的二进制文件:

CLI>> foo [TAB] [TAB]
Run Code Online (Sandbox Code Playgroud)

它应该显示主要命令configureshow.

然后如果我选择configure,它应该显示子命令CM,DSP并且NPU:

CLI>> foo configure [TAB] [TAB]
DSP NPU CM`
Run Code Online (Sandbox Code Playgroud)

我只知道如何完成并显示第一级 - 如何获得第二级?

我会把它放进去/etc/completion.d.

我的代码:

_foo()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    words=("${COMP_WORDS[@]}")
    cword=$COMP_CWORD
    opts="configure show"
}
Run Code Online (Sandbox Code Playgroud)

我很卡如何添加子命令CM DSP NPUconfigure.

bash autocomplete tab-completion compgen

13
推荐指数
1
解决办法
3433
查看次数

标签 统计

autocomplete ×1

bash ×1

compgen ×1

tab-completion ×1