代码之家  ›  专栏  ›  技术社区  ›  gihan-maduranga

bash完成脚本的放置位置

  •  5
  • gihan-maduranga  · 技术社区  · 7 年前

    bash completion script 进入我的项目。但现在我被困在哪里,我的脚本工作,正如预期。请让我知道我可以把我的 bash完成脚本

    C:\scripts\tool\bin\ktools.pl

    同时添加 bin 系统变量的路径。

    我已将自动完成脚本放入

    C:\scripts\tool\bin\etc\bash_completion.d\ktools\foo

    _foo() 
    {
        local cur prev opts
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        opts="--help --verbose --version"
    
        if [[ ${cur} == -* ]] ; then
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
            return 0
        fi
    }
    complete -F _foo ktools
    

    当用户键入时,应自动建议命令 ktools -- + press tab 在命令行或git bash中。

    2 回复  |  直到 7 年前
        1
  •  5
  •   math2001    7 年前

    我很确定你需要在你的 .bashrc

    打开 ~/.bashrc 然后写(如果它不存在,您可能需要创建它)

    source your_bash_file
    

    source ~/.bashrc
    

    它应该会起作用。

        2
  •  1
  •   PreciseMotion    5 年前

    更方便的方法是创建一个文件夹,其中包含/etc等中的所有完成脚本,然后在.bashrc源代码中包含该目录中的所有内容。