在 bash 中,我相信可以在终端上针对特定于所调用的可执行文件的术语启用制表符补全。

例如,给定一个带有有效参数 {cake、carrot、banana} 的可执行文件“eat”,输入“eat car”应该完成“eat carrot”。

我相信这是可能的,因为我已经看到它用“ant”选项卡完成了它的目标(尽管我不知道这是如何设置的)。

如何实施这种行为?

有帮助吗?

解决方案

这是用脚本/etc/bash_completion.d/要做的,如果你想写自己完成支持可执行文件,的这里的教程让你开始

如果您只需要获取的行为,共同的可执行文件的工作,你的Linux发行版可能有一个的bash完成可提供常用命令的支持包。

其他提示

这与文件名非常相似 通配 shell 将尝试根据通配符自动完成...例如...

echo foo*

将列出当前目录中以“foo”开头的所有文件...bash shell 通配符通配符并将其扩展为文件列表...

MSDOS 有一个类似的概念,尽管它在运行时没有明确链接,我说的是旧的 Turbo C 东西,当通配符通配符通过链接“wildargs.obj”被激活时(如果我没记错的话) ),在内部,该代码将迭代目录并根据通配符模式匹配扩展列表。

在 Linux/*nix 领域,通配符是标准的,但是,您不能手动按序列 Tab 键来进行模式匹配或完成...因为不同的终端可能会以不同的方式翻译 Tab 键,当然也会以不同的方式处理它...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top