Bash脚本自动完成无法正常工作

问题描述

我正在尝试编写一个简单的bash脚本,该脚本将仅用制表符完成命令的第一个参数。当我在第一个参数的任何字符之前制表符完成时,它将按预期提供建议。但是,如果我至少键入了一个参数字符,它将不会提供建议。我不太明白为什么(bash脚本非常新)。这是完整的代码

#!/bin/bash

_is_complete_parameter()
{
    for i in "${COMP_WORDS[@]}"
    do
        if [ "${COMP_WORDS[1]}" = "$i" ]
        then
            return 1
        fi
    done
    return 0
}


_hydra_complete()
{
    if [ ${#COMP_WORDS[@]} -ge 2 ]
    then
        return
    fi

    result=_is_complete_parameter
    if [ ${#COMP_WORDS[@]} -eq 1 ] && [ "$result" = "1" ]
    then
        return
    fi

    COMPREPLY=($(compgen -W "list make source" "${COMP_WORDS[1]}"))
}
complete -F _hydra_complete hydra

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)