add auto-completion doc for karmadactl
Signed-off-by: lonelyCZ <531187475@qq.com>
This commit is contained in:
parent
57bf4f1b92
commit
0cff05e01c
|
@ -0,0 +1,47 @@
|
|||
# bash auto-completion on Linux
|
||||
## Introduction
|
||||
The karmadactl completion script for Bash can be generated with the command karmadactl completion bash. Sourcing the completion script in your shell enables karmadactl autocompletion.
|
||||
|
||||
However, the completion script depends on [bash-completion](https://github.com/scop/bash-completion), which means that you have to install this software first (you can test if you have bash-completion already installed by running `type _init_completion`).
|
||||
|
||||
## Install bash-completion
|
||||
bash-completion is provided by many package managers (see [here](https://github.com/scop/bash-completion#installation)). You can install it with `apt-get install bash-completion` or `yum install bash-completion`, etc.
|
||||
|
||||
The above commands create `/usr/share/bash-completion/bash_completion`, which is the main script of bash-completion. Depending on your package manager, you have to manually source this file in your `~/.bashrc` file.
|
||||
|
||||
```bash
|
||||
source /usr/share/bash-completion/bash_completion
|
||||
```
|
||||
|
||||
Reload your shell and verify that bash-completion is correctly installed by typing `type _init_completion`.
|
||||
|
||||
## Enable karmadactl autocompletion
|
||||
You now need to ensure that the karmadactl completion script gets sourced in all your shell sessions. There are two ways in which you can do this:
|
||||
|
||||
- Source the completion script in your ~/.bashrc file:
|
||||
|
||||
```bash
|
||||
echo 'source <(karmadactl completion bash)' >>~/.bashrc
|
||||
```
|
||||
|
||||
- Add the completion script to the /etc/bash_completion.d directory:
|
||||
|
||||
```bash
|
||||
karmadactl completion bash >/etc/bash_completion.d/karmadactl
|
||||
```
|
||||
|
||||
If you have an alias for karmadactl, you can extend shell completion to work with that alias:
|
||||
|
||||
```bash
|
||||
echo 'alias km=karmadactl' >>~/.bashrc
|
||||
echo 'complete -F __start_karmadactl km' >>~/.bashrc
|
||||
```
|
||||
|
||||
> **Note:** bash-completion sources all completion scripts in /etc/bash_completion.d.
|
||||
|
||||
Both approaches are equivalent. After reloading your shell, karmadactl autocompletion should be working.
|
||||
|
||||
## Enable kubectl-karmada autocompletion
|
||||
Currently, kubectl plugins do not support autocomplete, but it is already planned in [Command line completion for kubectl plugins](https://github.com/kubernetes/kubernetes/issues/74178).
|
||||
|
||||
We will update the documentation as soon as it does.
|
Loading…
Reference in New Issue