You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中使用星号前缀匹配文件名时Tab补全异常的问题求助

Bash中使用星号前缀匹配文件名时Tab补全异常的问题求助

最近我发现bash的Tab补全在处理带星号的文件名匹配时出现了不符合预期的行为,想问问有没有大佬知道怎么解决这个问题。

举个具体的例子:假设我有个目录里有这些文件:

$ ls
file.c  file1  file2  file3

当目录里文件很多的时候,我习惯用通配符(比如*.c)来快速定位那个唯一带.c后缀的文件,比如输入ls *.c后,我想按来确认是不是我要找的那个文件,但现在这个补全功能不工作了——至少和我印象里的不一样。

我排查了一下,发现问题应该和系统自带的bash_completion脚本有关。在我的Ubuntu系统上,这个脚本位于/usr/share/bash-completion/bash_completion。当我不加载这个脚本启动bash,或者用shopt -u progcomp关闭bash的可编程补全后,就能得到预期的行为:输入ls *.c再按Tab,会自动把*.c替换成对应的file.c。但加载了那个默认的补全脚本后,按Tab就没反应,或者不会替换成具体的文件名。

有没有办法在保留bash_completion其他功能的前提下,修复这个通配符补全的问题呀?

备注:内容来源于stack exchange,提问作者eidna89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:03:08