在哪里放置 bash 个完成脚本
Where to put bash completion scripts
我已经实现了一些 perl 脚本,在某些情况下我必须将一些命令行参数传递到我的 program.Usability 透视图中我决定现在将一些 bash completion script
添加到我的 project.But 中我被困在把我的脚本放在哪里,因为 expected.Please 让我知道我可以把我的 bash completion script
放在哪里
自定义 Perl 脚本位置
C:\scripts\tool\bin\ktools.pl
还要在系统变量中添加bin
路径。
我已将我的自动完成脚本放入
C:\scripts\tool\bin\etc\bash_completion.d\ktools\foo
Bash 完成脚本
_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.
时,应自动建议命令
我很确定您需要将其来源到您的 .bashrc
(基本上包括它)。
打开~/.bashrc
并写入(如果不存在则可能需要创建)
source your_bash_file
然后,在您的终端中,"refresh"
source ~/.bashrc
它应该可以工作。
以上答案非常不方便,尤其是当您有多个完成脚本并且让其他人安装和使用您的程序时。
更方便的方法是在 /etc 或类似目录中创建一个包含所有完成脚本的文件夹,然后在 .bashrc 源中该目录中的所有内容。
我已经实现了一些 perl 脚本,在某些情况下我必须将一些命令行参数传递到我的 program.Usability 透视图中我决定现在将一些 bash completion script
添加到我的 project.But 中我被困在把我的脚本放在哪里,因为 expected.Please 让我知道我可以把我的 bash completion script
自定义 Perl 脚本位置
C:\scripts\tool\bin\ktools.pl
还要在系统变量中添加bin
路径。
我已将我的自动完成脚本放入
C:\scripts\tool\bin\etc\bash_completion.d\ktools\foo
Bash 完成脚本
_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.
我很确定您需要将其来源到您的 .bashrc
(基本上包括它)。
打开~/.bashrc
并写入(如果不存在则可能需要创建)
source your_bash_file
然后,在您的终端中,"refresh"
source ~/.bashrc
它应该可以工作。
以上答案非常不方便,尤其是当您有多个完成脚本并且让其他人安装和使用您的程序时。
更方便的方法是在 /etc 或类似目录中创建一个包含所有完成脚本的文件夹,然后在 .bashrc 源中该目录中的所有内容。