让 bash 理解我想在“cd”之后完成目录名称

让 bash 理解我想在“cd”之后完成目录名称

如何仅使用目录名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。)

相关内容