Bash _/- 完成

Bash _/- 完成

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 文件名完成的一部分,但这需要一些时间,并且可能需要版本提升。

相关内容