如何仅使用目录名bash
自动完成cd
命令并忽略文件名(就像 Windows 上的 CMD 一样)
例子:
算我一个
/some/folder/
我有
-rwxr-xr-x filesharp
-rwxr-xr-x fileshallow
-rwxr-xr-- file
drwxrwxrwx files
我希望当我输入 时cd f<tab>
,bash
自动完成它,而cd /home/dds/files
不必手动输入s
:只有一个目录与我的前缀匹配。
编辑:到目前为止找到的解决方案(添加autocomplete -d cd
到.bashrc
)
在 Windows 上提供“滚动槽名称”也很棒,每次按下时,Tab我都会得到与我输入的前缀匹配的单个文件(或文件夹)的完成信息。
答案1
(这是纳韦尔在评论中链接的问题的重复)
正如链接的答案所示,写下您的~/.bashrc
complete -d cd
您可以运行该命令立即查看效果。
(由于其强大的 shell 功能,我喜欢使用zsh
。)