可以Bash autocd& tab-complete忽略$ PATH中的特定文件夹?

时间:2013-10-08 22:16:00

标签: bash bash-completion

我最近从tcsh转到bash,并且已经调整到不同的标签完成。

我使用shopt -s autocd因此我不需要在事物面前明确键入cd,这就是问题所在。

我唯一的问题是我的PATH是/usr/local/bin/,在该文件夹中是一个名为This.Is.A.Really.Long.File.To.Execute的可执行文件。

不幸的是,我使用的git结构有路径~/git/company/This.Is/This.Is.A.Really.Long/This.Is.A.Really.Long.File/file.txt

因此,如果我在~/git/company/This.Is并输入This.I<TAB>,它会立即完成This.Is.A.Really.Long.File.To.Execute,这是我路径中的可执行文件。

我无法更改文件夹结构或移动可执行文件,因为其他进程/脚本使用它。有没有办法保留autocd并明确忽略/usr/local/bin/中任何内容完成标签?

1 个答案:

答案 0 :(得分:0)

要强制Bash只查看当前目录,您始终可以输入:

./This.I<TAB>

然后再次输入cd可能更容易。