惊喜!Shell建议命令行参数

16

我注意到Bash shell可以为您的命令建议命令行开关。

只需输入您的命令,一个短横线(-)和按Tab键。Shell将显示可用的开关。

例如,请尝试:

andy@andyx:~$ java -

然后按Tab键 - 惊喜呀!

截图

问题是:

我该如何与这个功能进行交互。也就是说,如果我编写一个要从控制台运行的程序,那么告诉shell可用的开关的API是什么?


1
嗯...我的bash好像缺少这个功能。我需要以某种方式启用它吗? - Burkhard
只有在/etc/bash_completion.d中设置命令才能使用它(请参见下面的MrX的答案)。我也试过了,用ls,但不起作用,但在那个目录中查看,我看到yast2在我们的某些系统上有一个100行的完整脚本。这需要很多工作才能设置好!如果你正在编写许多人将要使用的Unix工具,可能会很好,但对于个人工作来说是不必要的。使用gnu实用程序的--help。 - Andrej Panjkov
3个回答

19

6

请参考:

$ man bash

特别是,名为“READLINE”的部分以及子部分“可编程完成”。

5

提醒:在Ubuntu和Debian中,这些脚本位于/etc/bash_completion.d/。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接