Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 惊喜shell建议使用命令行开关_Linux_Bash_Shell_Command Line - Fatal编程技术网

Linux 惊喜shell建议使用命令行开关

Linux 惊喜shell建议使用命令行开关,linux,bash,shell,command-line,Linux,Bash,Shell,Command Line,我注意到bashshell可以为您的命令建议命令行开关 只需键入命令、短划线(-)和类型选项卡。shell将向您显示可用的交换机 例如,尝试: andy@andyx:~$ java - 然后按tab-惊喜 问题是: 如何与此功能交互。也就是说,如果我编写了一个要从控制台运行的程序,那么告诉shell哪些交换机可用的API是什么?您已经发现了Bash的功能。请参阅: $ man bash 特别是,标题为“READLINE”的部分和“可编程完成”的小节供参考:在Ubuntu和/或Debian中

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

只需键入命令、短划线(-)和类型选项卡。shell将向您显示可用的交换机

例如,尝试:

andy@andyx:~$ java -
然后按tab-惊喜

问题是:


如何与此功能交互。也就是说,如果我编写了一个要从控制台运行的程序,那么告诉shell哪些交换机可用的API是什么?

您已经发现了Bash的功能。

请参阅:

$ man bash

特别是,标题为“READLINE”的部分和“可编程完成”的小节供参考:在Ubuntu和/或Debian中,脚本位于/etc/bash_Completion.d/

Hm。。。我的bash接缝可能缺少此功能。我需要以某种方式启用它吗?只有在/etc/bash_completion.d中设置了使用它的命令(请参见下面的MrX答案)时,它才起作用。我也用ls尝试了它,但它不起作用,但在该目录中,我看到yast2在我们的一个系统上有一个100行的完成脚本。真是太好了!如果您正在编写一个很多人都会使用的unix工具,但不是用于个人工作,那么这样做可能会很好。使用——gnu实用程序的帮助。