Bash 如何获取空白以附加中间选项卡完成

Bash 如何获取空白以附加中间选项卡完成,bash,bash-completion,Bash,Bash Completion,作为一个程序的例子,它能正确地完成这一点 如果键入: git stash list 在候机楼 然后将光标移到“h”上 然后按TAB键,您的输出将为: git stash h list 您的光标将位于最后一个“h” 我原以为在compgen中添加-S(后缀)命令会附加一个空格,但遗憾的是,事实并非如此 COMPREPLY=($(compgen -W "$1" -S " " -- ${cur})) 例如,我的程序将输出: git stashh list. 我如何获得想要的行为?我的后缀方法

作为一个程序的例子,它能正确地完成这一点

如果键入:

git stash list
在候机楼

然后将光标移到“h”上 然后按TAB键,您的输出将为:

git stash h list
您的光标将位于最后一个“h”

我原以为在compgen中添加-S(后缀)命令会附加一个空格,但遗憾的是,事实并非如此

COMPREPLY=($(compgen -W "$1"  -S " " -- ${cur}))
例如,我的程序将输出:

git stashh list.
我如何获得想要的行为?我的后缀方法正确吗?我需要让bash忽略它是一个空白的事实吗

我是否应该添加-o nospace,以便始终获得预期的确切空间量?在我的COMPREPLY中的任何地方添加-o nospace似乎都不能消除空格?也许我用的不是正确的

记录的带-o nospace的命令为:

COMPREPLY=($(compgen -o nospace -W "$1"  -S " " -- ${cur}))

请出示您的完整密码