3

我有这个问题有一段时间了。在 /home/me/ 中说我有“cat3”作为目录。现在,在我的 Bash shell 中,我执行“$ cat[tab]”。我的标签循环显示:cat、catchsegv、catman。但没有“cat3”。如果我执行“cd cat[tab]”,那么它会立即给出 cat3。这很烦人,因为有时我有一个具有 555 权限的脚本“cat3/test.py”。

理想情况下,我想输入“c[tab]t[tab][enter]”来运行脚本。但我必须输入“cat3/t[tab][enter]”...

在查看 /usr/bin 或其他内容之前,如何让选项卡考虑 CWD 中的目录和可执行文件?

谢谢你的帮助!

4

1 回答 1

2

如果cat3是一个目录,shell 不会在您启动时自动完成它,就好像您要在路径中执行命令一样。一个简单的解决方案是从当前目录符号开始,即'.':

$ ./c[tab]

或者,您可以在 ~/bin 中创建指向 cat3 脚本的符号链接,并将 ~/bin 添加到您的路径中:

export PATH=~/bin:$PATH

如果您真的想将当前目录添加到您的路径中,您仍然可以这样做(但是,这是一个非常糟糕的主意,因为至少当您想要自动完成非常常用的命令时它会让您感到惊讶):

export PATH=.:$PATH
于 2012-07-20T05:27:08.960 回答