终端Tab自动补全在执行cd ../向上切换目录时失效的问题
终端Tab自动补全在执行cd ../向上切换目录时失效的问题
老哥我太懂这种突然习惯的操作不好使的别扭感了!之前在WSL的Ubuntu里输入cd ..再按Tab,会自动补成cd ../,结果换了Kali之后这操作就“罢工”了,按Tab反而弹出当前目录下的文件列表,完全不是你想要的效果,对吧?
先给你梳理下可能的原因和解决办法:
1. 调整Bash的direxpand选项
这大概率是Bash的路径展开选项没开启导致的,先试试临时测试:
- 输入
shopt direxpand,查看当前状态是direxpand off还是on - 如果是off,输入
shopt -s direxpand开启它,再试一次cd ..按Tab,应该就能自动补成cd ../了 - 要是临时生效了,想永久保留这个设置,就打开
~/.bashrc文件,在末尾加一行shopt -s direxpand,然后执行source ~/.bashrc让设置立刻生效
2. 重置Bash自动补全组件
Kali和Ubuntu的默认bash-completion配置可能有差异,你可以尝试重新安装补全组件修复配置问题:
sudo apt update && sudo apt install --reinstall bash-completion
执行完成后重启终端,再测试Tab补全的效果。
小提醒:其实cd ..本身就能直接用
说句题外话,cd ..这个命令不需要补成cd ../也能直接执行,一样是回到上一级目录,不过既然你习惯了之前的补全逻辑,按上面的方法调回熟悉的模式就好~
备注:内容来源于stack exchange,提问作者Gharbad The Weak




