相关疑难解决方法(0)

惊喜!shell建议命令行开关

我注意到bash shell可以为你的命令建议命令行开关.

只需键入您的命令,短划线( - )和类型选项卡.shell将显示可用的开关.

例如,尝试:

andy@andyx:~$ java -
Run Code Online (Sandbox Code Playgroud)

并按标签 - 惊喜!

截图

问题是:

如何与此功能连接.即,如果我编写一个要从控制台运行的程序,那么告诉shell哪些开关可用的API是什么?

linux bash shell command-line

16
推荐指数
3
解决办法
5519
查看次数

在shell中自定义选项卡完成

这可能比"自定义标签完成"有更好的名称,但这是场景:

通常,当我在命令行并输入命令,然后输入{TAB}两次时,我会获得当前目录中所有文件和子目录的列表.例如:

[user@host tmp]$ cat <TAB><TAB>
chromatron2.exe                  Fedora-16-i686-Live-Desktop.iso  isolate.py
favicon.ico                      foo.exe                          James_Gosling_Interview.mp3
Run Code Online (Sandbox Code Playgroud)

但是,我注意到至少有一个程序以某种方式过滤了这个列表:wine.考虑:

[user@host tmp]$ wine <TAB><TAB>
chromatron2.exe  foo.exe
Run Code Online (Sandbox Code Playgroud)

它有效地过滤了结果*.exe.

认为它可能是负责过滤的某种包装脚本,a a whichfilea结果wine不是脚本而是可执行文件.

现在,我不知道这个"过滤器"是否以某种方式编码在程序本身中,或者在默认的wine安装过程中以其他方式指定,所以我不确定这个问题是否更适合stackoverflow或超级用户,所以我是我的手指交叉扔在这里.如果我猜错了,我道歉.(另外,我检查了一些类似的问题,但大多数都是无关紧要的,或者涉及编辑shell配置.)

所以我的问题是,这个"过滤"是如何完成的?提前致谢.

linux bash shell tab-completion bash-completion

14
推荐指数
3
解决办法
9959
查看次数