如何在bash中更改标签自动完成以浏览文件夹?

时间:2009-04-01 15:26:05

标签: bash autocomplete

我有一个'test'文件夹,其中包含另一个文件夹'test2'

当我输入'cd te [tab]'时,它会自动完成'cd test /'

如何让它自动完成'cd test / test2 /',而无需再次点击标签?

澄清一下:test是文件夹测试中唯一的文件夹/文件。我希望这个递归工作,所以如果有一个文件夹/ / a / lot / of / single / files /或/ folders / in / it

2 个答案:

答案 0 :(得分:3)

Bash支持可编程自动完成(至少从3.0版本开始)。

上的bash手册中有一些文档

http://www.gnu.org/software/bash/manual/bashref.html#Programmable-Completion

查看现有脚本以了解如何真正使用该功能也可能是一个好主意。例如,Debian有一个/ etc / bash_completion文件,其中包含各种程序的完成脚本。我确定其他发行版也有类似的内容

答案 1 :(得分:0)

bash很难理解要跳转到测试或测试/测试。所以我相信没有标准设置。

但是你总是可以为特定情况命名别名,比如

alias cdtest="cd test/test"