终端自动完成的排除期

Excluding period for terminal autocompletion

当我尝试在终端中编译和 运行 我的 java 程序时,我有点恼火

javac example.java

当我想 运行 java example 并在 java 命令上使用自动完成时,它会自动包含句点 (java example.)。当然,这是标准行为,因为它匹配最长的前缀,但是有没有办法在这里切断尾随句点?我不介意编辑某些配置文件,而且我相信我看到其他计算机切断了这段时间。如果此功能是终端命令 java 所独有的,那就更好了。

如评论所述,答案是使用 bash-completion。我使用了以下 git-repo 作为参考。至于我的case on a Mac(直接取自link),说明如下:

brew install bash-completion

并在 ~/.bash_profile 内添加以下行:

if [ -f `brew --prefix`/etc/bash_completion ]; then
. `brew --prefix`/etc/bash_completion
fi