在SLES 10.1中,当您按Tab键而不在目录中input任何内容时,您将获得目录列表。 这个设定是什么,以便我可以在CentOS 5.4中设定?
对于bash:
设置禁用完成closures
您需要安装bash完成模块。 有些发行版将它们捆绑在一起,其他发行版则单独打包。 一旦他们安装,你需要激活它们。 在Ubuntu / Debian中,通过在您的.bash {rc,_profile}中采购/etc/bash_completion完成。
对CentOS 5来说,这个过程logging在这里:
http://thedaneshproject.com/posts/bash-completion-on-centos-5/
我猜你是指SUSE列出当前目录中的所有内容,而不是显示所有可执行的命令在你的path中,因为默认情况下,bash已经打开了tab完成,我从来没有听说过一个发行版将其作为标准禁用。
Bash有完整的内置命令,允许您自定义选项卡完成。 有几个项目提供了一些体面的完成许多常见的工具。 这可能是SUSE使用的。 你应该能够通过浏览bash启动文件(你可以在非常全面的(阅读:长)手册页中find)find他们使用的确切函数。 其中一个将收集完整function的集合,其中一个将做你想要的。
我不得不问问当前目录的内容是否完整。 我想给你看一个3-4000程序列表不是最有用的function。 如果你已经在命令行中有东西了,它是否在你的path上完成了可执行文件,或者是否完成了当前目录中的某些内容?