我有一个包含磁盘映像的目录,我们称之为“image.dd”。实际上,它是一个更长的名称,因此希望通过键入第一个字符并点击 tab 来完成名称的表格以获取其余部分。目录中只有几个文件,每个文件都以唯一的字母开头。
如果我键入ls i<TAB>
命令正确完成到ls image.dd
.
但是,如果我键入fdisk -l i<TAB>
什么都不会发生。这真的很烦人。我的印象是选项卡完成正在窥探我的命令并看到“fdisk”部分并说,“哦,你不能 fdisk 常规文件,所以我将忽略你自动完成文件的请求,即使它实际上就在那里。”
当然,当我手动输入它工作的名称时,我可以在它是磁盘映像时对文件进行 fdisk,那么我怎样才能让选项卡完成正常工作呢?
使用 Ubuntu 16.04,bash 版本为 4.3.42。
fdisk 的完整规则存储在文件中
/usr/share/bash-completion/completions/fdisk
。那里的规则定义它将扩展到块设备。要在当前环境中覆盖此设置 - 您可以执行以下操作:您可以将其添加到您的
.bashrc
文件中。