我正在尝试为一个Java程序创建Bash自动完成脚本。该程序的典型调用可能看起来像这样:
$ javaProgram -Dproperty=foo option1 option2
我的脚本的一部分将是建议此程序可用的各种Java属性(例如,当用户键入-D
时,脚本会建议property =
,使用户接着输入值)。
我希望补全后不在等号后插入空格。但是,当用户正在键入程序的各种选项(以上例子中的option1
和option2
)时,我希望脚本完成并在完成时插入一个空格。
我对Bash补全脚本还不熟悉,但我知道complete
shell内置的nospace
选项。但似乎它对compgen
内置无效,而这似乎是我想要的。我尝试使用nospace
,然后显式地在适当选项的结尾包含空格,但它们似乎没有通过。
有人知道如何在某些选项末尾获取空格,但在其他选项末尾不获取空格吗?