28 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
| <!--
 | ||
| title: bash-completion для kubectl
 | ||
| description: 
 | ||
| published: true
 | ||
| date: 2023-12-26T10:23:32.800Z
 | ||
| tags: bash, kubectl
 | ||
| editor: ckeditor
 | ||
| dateCreated: 2023-11-08T08:53:22.629Z
 | ||
| -->
 | ||
| 
 | ||
| <h3>Установка bash-completion</h3>
 | ||
| <p>bash-completion можно установить через многие менеджеры пакеты (см. <a href="https://github.com/scop/bash-completion#installation">здесь</a>). Вы можете установить его с помощью <code>apt-get install bash-completion</code> или <code>yum install bash-completion</code> и т.д.</p>
 | ||
| <p>Приведенные выше команды создадут файл <code>/usr/share/bash-completion/bash_completion</code>, который является основным скриптом bash-completion. Возможно, вам потребуется вручную подключить этот файл в <code>~/.bashrc</code> (необходимость выполнять эту операцию зависит от используемого менеджера пакетов).</p>
 | ||
| <p>Чтобы убедиться, что всё работает, перезагрузите оболочку и выполните команду <code>type _init_completion</code>. Если команда отработала успешно, установка сделана правильно, в противном случае добавьте следующее содержимое в файл <code>~/.bashrc</code>:</p>
 | ||
| <pre><code class="language-plaintext">source /usr/share/bash-completion/bash_completion</code></pre>
 | ||
| <p>Перезагрузите вашу оболочку и убедитесь, что bash-completion правильно установлен, выполнив команду <code>type _init_completion</code>.</p>
 | ||
| <h3>Включение автодополнения ввода kubectl</h3>
 | ||
| <p>Теперь нужно убедиться, что скрипт дополнения ввода kubectl выполняется во всех сессиях командной оболочки. Есть два способа сделать это:</p>
 | ||
| <p>Добавьте запуск скрипта дополнения ввода в файл <code>~/.bashrc</code>:</p>
 | ||
| <pre><code class="language-plaintext">echo 'source <(kubectl completion bash)' >>~/.bashrc</code></pre>
 | ||
| <p>Добавьте скрипт дополнения ввода в директорию <code>/etc/bash_completion.d</code>:</p>
 | ||
| <pre><code class="language-plaintext">kubectl completion bash >/etc/bash_completion.d/kubectl</code></pre>
 | ||
| <p>Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:</p>
 | ||
| <pre><code class="language-plaintext">echo 'alias k=kubectl' >>~/.bashrc
 | ||
| echo 'complete -F __start_kubectl k' >>~/.bashrc</code></pre>
 | ||
| <p><strong>Примечание:</strong> Все скрипты дополнения ввода bash-completion находятся в <code>/etc/bash_completion.d</code>.</p>
 | ||
| <p>Оба подхода эквивалентны. После перезагрузки вашей оболочки автодополнение ввода для kubectl должно работать.</p>
 |