我的 bash 脚本的可再发行补全

我的 bash 脚本的可再发行补全

对于 bash ,是否有一种简单的方法可以将完成功能嵌入到脚本中?

我有一个想要重新分发的脚本,但我不能要求人们在其中添加一些内容/etc/bash_completion.d 以便他们能够完成我的脚本...

答案1

主目录中没有 bash 补全的标准位置。您可以指示人们将您的完成代码复制到他们的 中.bashrc,或者指示他们将您的完成定义脚本保存在某处(不应该在他们的$PATH)并从他们的 中获取它.bashrc。我推荐后者,因为它使升级更加容易。

. ~/.bash_completions/jmc_app

按照惯例,您的完成应该在与其完成的程序同名的脚本中定义,包含一个具有相同名称且前面带有下划线的函数定义,并调用complete以安装完成:

# jmc_app completion
_jmc_app () {
}
complete -F _jmc_app jmc_app

相关内容