man bash
说:
完成地图案例(关闭)
如果设置为 On,并且启用了completion-ignore-case,则在执行不区分大小写的文件名匹配和完成时,readline 将连字符 (-) 和下划线 (_) 视为等效。
$ bind -v|grep case
set completion-ignore-case on
set completion-map-case on
当我打字时
$ touch _test
$ chmod +x -t<TAB>
它完成到
$ chmod +x _test
但两者都没有
$ ./-t<TAB>
$ ls -t<TAB>
完全的。
这是为什么?可以修复吗?
答案1
切特·雷米回复了我的报告:
感谢您的报告。这两个选项适用于文件名补全,但不适用于命令补全(其中大部分是在 readline 之外处理的)。我将考虑在 readline 之外公开该功能,因为它目前是 readline 文件名完成的一部分,但这需要一些时间,并且可能需要版本提升。