微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。