命令行自动完成或者自动补全的目的是能够提高你输入的效率和避免错误。
我们都知道在 Linux 命令行下,输入字符后,按两次 Tab 键,shell 就会列出以这些字符打头的所有可用命令。如果只有一个命令匹配到,按一次Tab键就自动将这个命令补全。
比如,想更改密码,但只记得这个命令前几个字母是 pass。这时候,按Tab键,shell 就自动输出 passwd 命令,非常方便。
当然,除了命令补全,还有路径、文件名补全。这个在我们 cd 到特定目录时特别好用。
Spring Boot CLI 也提供相同的功能,但是是使用 敲打 Tab 1 次而不是 2 次。
包含有脚本能够提供命令行的自动完成。有关自动完成的定义请参考 BASH 和 zsh 页面中的内容。
你可以下载 spring
命令行的 源代码
脚本到任何 shell 环境中,并且添加到你自己或者系统全局的 bash 自动完成初始化。
在 Debian 操作系统中,基于操作系统的全局脚本位于 /shell-completion/bash
目录中。所有位于这个目录中的脚本将会在新的 shell 启动后被执行。
例如,如果你希望通过使用 SDKMAN! 来手动运行一个 Spring 的脚本来进行安装,你可以尝试使用下面的命令:
$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring
$ spring <敲一下 TAB 键>
grab help jar run test version
如果你是通过使用 Homebrew 或 MacPorts 来安装 Spring Boot CLI 的话,脚本命令行的工具将会自动注册到你的 shell 中。