28 lines
3.3 KiB
HTML
28 lines
3.3 KiB
HTML
<!--
|
||
title: bash-completion для kubectl
|
||
description:
|
||
published: true
|
||
date: 2023-11-07T16:23:56.024Z
|
||
tags: bash, kubectl
|
||
editor: ckeditor
|
||
dateCreated: 2023-11-03T08:55:30.344Z
|
||
-->
|
||
|
||
<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>
|