🎩 Bash: Автодополнение — Файл ~/.bashrc.
Автодополнение (или автозавершение) в GNU/Linux, особенно в командной оболочке bash — это полезная функция, которая повышает скорость и удобство взаимодействия с системой.
Как работает автодополнение?
Когда вы начинаете вводить команду, имя файла или каталога в терминале bash и нажимаете клавишу Tab
, оболочка пытается завершить текст, основываясь на текущем контексте. Если система находит только одно подходящее завершение, она автоматически дописывает слово за вас. Если есть несколько возможных завершений, bash выведет список вариантов.
Примеры использования.
Команды.
$ git a<TAB>
Если у вас установлена система управления версиями git
, то при нажатии Tab
вы получите список всех команд git
, начинающихся с буквы “а”.
Файлы и каталоги.
$ cd /etc/pas<TAB>
Bash завершит ввод до /etc/passwd
, если это единственный файл с таким началом.
Если команду или имя файла или каталога однозначно идентифицировать нельзя, то двойное нажатие Tab
выводит на экран все возможные варианты.
Настройки автозавершения.
Включение расширенного автодополнения.
Для более продвинутого автодополнения можно включить так называемое “расширенное завершение”.
Это делается с помощью команды:
$ bind "set show-all-if-ambiguous on"
После этого, если у вас будет несколько вариантов завершения, bash автоматически покажет их все при нажатии Tab
дважды.
Использование пользовательских путей.
В bash вы можете использовать пользовательские пути для автодополнения, что позволяет упростить работу с файлами и каталогами. Функция автодополнения может быть настроена так, чтобы предлагать определенные файлы или каталоги, когда вы вводите путь в командной строке. Давайте разберем несколько аспектов, связанных с этим.
Включение автодополнения путей.
Сначала убедитесь, что функция автодополнения путей включена. Обычно она включена по умолчанию, но вы можете проверить и изменить настройки с помощью команды shopt
.
Проверка и изменение параметров:
1. Проверка текущих настроек.
$ shopt
2. Включение автодополнения для каталога.
Включение исправления опечаток в именах каталогов:
$ shopt -s dirspell
Включение использования переменных вместо жестко закодированных путей:
$ shopt -s cdable_vars
3. Отключение автодополнения.
$ shopt -u dirspell $ shopt -u cdable_vars
Файл ~/.bashrc.
Автодополнение в bash можно настраивать и расширять, добавляя свои функции.
Основные настройки можно сделать в файле .bashrc
, который находится в вашем домашнем каталоге.
$ mcedit ~/.bashrc
Файл ~/.bashrc
— это сценарий инициализации для интерактивных нестандартных оболочек bash в GNU\Linux. Он выполняется каждый раз, когда вы открываете новую сессию терминала.
В целом, этот файл настраивает вашу среду оболочки bash, обеспечивая наличие пользовательских путей, возможность подключать глобальные настройки и дает возможность подключать пользовательские алиасы и функции из ~/.bashrc.d
для лучшей организации.
Некоторые из распространённых задачи.
Вот некоторые из распространённых задач, которые могут быть выполнены в этом файле:
Установка переменных окружения.
Команда shopt -s cdable_vars
позволяет использовать переменные окружения в качестве путей. Это может значительно упростить навигацию по каталогам.
Вы можете определить переменные окружения, такие как PATH
, чтобы добавить дополнительные каталоги для поиска исполняемых файлов.
$ export PATH="$HOME/bin:$PATH"
Например, определите произвольную переменную окружения:
$ export MYDIR="/path/to/my/directory"
Теперь вы можете перейти в этот каталог, просто набрав:
$ cd MYDIR
Это полезно для создания “сокращений” для длинных путей.
$ export PS1="\u@\h:\w$"
Определение алиасов.
Часто используются алиасы для упрощения команд:
$ alias ll='ls -la' $ alias gs='git status'
Исполнение других скриптов.
Вы можете добавлять другие скрипты или функции, которые должны выполняться при запуске терминала.
Настройка функций.
Вы также можете определять свои функции для различных задач.
Ссылка: 🎩 Bash: Автодополнение — Функции для автодополнения.
Настройки по умолчанию для программ.
Некоторые программы могут иметь специфические настройки, которые могут быть заданы в .bashrc
.
Как сделать действие переменной окружения постоянным?
Команда export MYDIR="/path/to/my/directory"
создает переменную окружения в текущей сессии оболочки и делает ее доступной для всех дочерних процессов, запущенных из этой оболочки.
Где хранятся результаты?
1. Внутри сессии оболочки: После выполнения этой команды переменная MYDIR
будет доступна в текущей оболочке и ее дочерних процессах. Вы можете проверить её значение, выполнив команду echo $MYDIR
.
2. Не сохраняется в файлах: Переменная, установленная с помощью export
, не сохраняется автоматически в текстовых файлах или конфигурационных файлах, таких как .bashrc
, после завершения сессии.
3. Сохранение на постоянной основе: Если вы хотите, чтобы переменная окружения сохранялась между сессиями, вам нужно добавить команду export MYDIR="/path/to/my/directory"
в ваш файл конфигурации оболочки, например, в ~/.bashrc
, ~/.bash_profile
или ~/.profile
. После этого эта переменная будет автоматически установлена каждый раз при запуске новой оболочки.
Пример добавления.
Откройте ваш файл ~/.bashrc
в текстовом редакторе и добавьте следующее:
$ mcedit ~/.bashrc
export MYDIR="/path/to/my/directory"
После этого, чтобы изменения вступили в силу немедленно, вы можете выполнить команду:
$ source ~/.bashrc
Таким образом, переменная MYDIR
станет доступной как в текущей сессии, так и в будущих сессиях.
Оригиналы источников информации.
- Нет.