bash 等号后制表符补全

bash 等号后制表符补全

在等号 (=) 之后按 TAB 键时如何让 bash 自动完成?例如启动 Abaqus,我使用命令行

abaqus job=

并希望能够在“=”后按 TAB 并获取文件列表。现在,我可以在“=”后面插入一个空格,按 Tab 键获取文件列表,选择文件,然后删除空格。

我知道 bash 完成,但这种方式涉及很多,除非有人有一个确切的示例。

答案1

你要么去学习如何摆弄 bash可编程完成(不适合胆小的人;-))或者只是禁用它

shopt -u progcomp

您将得到经典的readline(3)命令/变量/文件名补全[1]。

如果可编程完成已被禁用但=<Tab>仍然不起作用,您应该检查COMP_WORDBREAKS变量并向其中添加=字符(如果尚未包含该字符)。

[1] 对我来说,对 Debian 的正确修复一直是

apt-get remove --purge bash-completion

这将把它彻底连根拔起,并防止它偷偷回来。

相关内容