Поиск по сайту:

Как настроить оболочку Bash с помощью shopt


Если вы точно настроите поведение вашей оболочки Bash с помощью shopt, вы сможете управлять более чем 50 настройками. Мы покажем вам, как настроить вашу систему Linux именно так, как вам нравится.

Магазин Встроенный

Встроенный shopt входит во все версии оболочки Bash, поэтому ничего устанавливать не нужно. Количество опций, доступных в shop, неуклонно росло с годами. Таким образом, чем старше ваша версия Bash, тем короче будет список опций shop.

Если что-то не работает на вашем компьютере, проверьте запись man для Bash и убедитесь, что этот параметр доступен в вашей версии shop.

Мы рассмотрим все варианты shop ниже. Мы также опишем, как его использовать, и поделимся некоторыми примерами. Оттуда вы можете проверить справочную страницу Bash или Справочное руководство GNU Bash, чтобы узнать, кажутся ли какие-либо из этих параметров полезными или привлекательными.

Некоторые параметры shopt включены по умолчанию и являются частью поведения Bash по умолчанию. Вы можете включить параметр shop в качестве краткосрочного изменения в Bash. Затем он вернется к поведению по умолчанию, когда вы закроете оболочку.

Однако, если вы хотите, чтобы измененное поведение было доступно при каждом запуске оболочки Bash, вы можете сделать изменения постоянными.

Варианты магазина

Существует 53 варианта shop. Если вы используете команду shop без каких-либо параметров, она перечисляет их. Если мы направим вывод через команду wc, она подсчитает для нас строки, слова и символы. Поскольку каждая опция shop находится в отдельной строке, количество строк соответствует количеству опций.

Набираем следующее:

shopt | wc

Чтобы увидеть все параметры, мы можем передать вывод через команду column, чтобы отобразить имена параметров в столбцах, или мы можем передать их в less.

Набираем следующее:

shopt | column

Поиск shopt в руководстве по Linux

Раздел, посвященный shop и его параметрам, находится в разделе Bash руководства по Linux. Раздел Bash содержит более 6000 строк. Вы можете найти описание shop с большим количеством прокрутки, или вы можете просто найти его в руководстве.

Для этого откройте руководство в разделе Bash:

man bash

В руководстве нажмите /, чтобы начать поиск. Введите следующее и нажмите Enter:

assoc_expand_once

Начало раздела опций shop появится в окне man.

Установка и снятие параметров

Чтобы установить и отключить параметры shop, используйте следующие команды:

  • -s: установить или включить.
  • -u: снять или отключить.

Поскольку некоторые параметры включены по умолчанию, также удобно проверить, какие параметры включены. Это можно сделать с помощью параметров -s и -u без использования имени параметра. Это заставляет shopt перечислить включенные и выключенные параметры.

Введите следующее:

shopt -s
shopt -u | column

Вы можете использовать параметр shop без команд -s или -u , чтобы увидеть, включено или выключено состояние для каждого параметра.

Например, мы можем ввести следующее, чтобы проверить настройку параметра histverify:

shopt histverify

Мы можем ввести следующее, чтобы включить его:

shopt -s histverify

Затем мы можем ввести следующее, чтобы проверить это снова:

shopt histverify

Параметр histverify изменяет работу одного аспекта команды history. Обычно, если вы просите history повторить команду, ссылаясь на нее по номеру, например !245, команда извлекается из истории команд и немедленно выполняется.

Если вы предпочитаете просмотреть команду, чтобы убедиться, что она соответствует вашим ожиданиям, и при необходимости отредактировать ее, введите следующее, чтобы включить параметр shop histverify:

!245

Команда извлекается и представляется в командной строке. Вы можете удалить, отредактировать или выполнить его, нажав Enter.

Опция autocd

При включенной опции autocd, если вы введете имя каталога в командной строке и нажмете Enter, оно будет обработано так, как если бы вы набрали cd в перед ним.

Мы вводим следующее, чтобы включить опцию autocd:

shopt -s autocd

Затем мы вводим имя каталога:

Documents

Вариант cdspell

Когда параметр cdspell включен, Bash автоматически исправляет простые орфографические ошибки и опечатки в именах каталогов.

Мы вводим следующее, чтобы установить параметр cdspell:

shopt -s cdspell

Чтобы попытаться перейти в каталог в нижнем регистре, который должен иметь начальную букву в верхнем регистре, мы набираем следующее:

cd documents

Затем мы можем ввести следующее, чтобы попробовать имя каталога с дополнительной буквой «t» в его имени:

cd ../Picttures

Bash переходит в каждый каталог, независимо от орфографических ошибок.

Параметр xpg_echo

Когда параметр xpg_echo включен, команда echo будет подчиняться экранированным символам, например \n для новой строки и \t для горизонтальной вкладки. .

Сначала мы вводим следующее, чтобы убедиться, что опция установлена:

shopt -s xpg_echo

Затем мы включаем \n в строку, которую собираемся передать в echo:

echo "This is line one\nThis is line two"

Экранированный символ новой строки приводит к разрыву строки в выводе.

Это приводит к тому же поведению, что и параметр -e (включить escape-интерпретацию) echo, но xpg_echo позволяет использовать его как действие по умолчанию.

Вариант dotglob

К параметру dotglob следует относиться с осторожностью. Он позволяет включать файлы и каталоги, начинающиеся с точки (.), в расширение имен или «подстановку». Они называются «точечные файлы» или «точечные каталоги» и обычно скрыты. Параметр dotglob игнорирует точку в начале их имен.

Во-первых, мы выполним поиск файлов или каталогов, оканчивающихся на «выродок», введя следующее:

ls *geek

Один файл найден и указан. Затем мы включим параметр dotglob, введя следующее:

shopt -s dotglob

Мы запускаем ту же команду ls для поиска файлов и каталогов, оканчивающихся на «geek»:

ls *geek

На этот раз найдены и перечислены два файла, один из которых является точечным. Вы должны быть осторожны с rm и mv, когда у вас включена опция dotglob.

Параметр nocaseglob

Параметр nocaseglob аналогичен параметру dotglob, за исключением того, что nocaseglob приводит к игнорированию различий в прописных и строчных буквах в именах файлов и каталогов. расширения имени.

Мы вводим следующее, чтобы искать файлы или каталоги, которые начинаются с «как»:

ls how*

Один файл найден и указан. Мы вводим следующее, чтобы включить параметр nocaseglob:

shopt -s nocaseglob

Затем мы повторяем команду ls:

ls how*

Найдены два файла, один из которых содержит заглавные буквы.

Сделать изменения постоянными

Внесенные нами изменения будут действовать только до тех пор, пока мы не закроем текущую оболочку Bash. Чтобы сделать их постоянными в разных сеансах оболочки, нам нужно добавить их в наш файл «.bashrc».

В своем домашнем каталоге введите следующую команду, чтобы открыть файл «.bashrc» в графическом текстовом редакторе Gedit (или измените его соответствующим образом, чтобы использовать редактор, который вы предпочитаете):

gedit .bashrc

Откроется редактор gedit с загруженным файлом «.bashrc». Вы увидите, что в нем уже есть несколько записей shop.

Здесь вы также можете добавить свои собственные параметры shop. Когда вы их добавили, сохраните изменения и закройте редактор. Теперь всякий раз, когда вы открываете новую оболочку Bash, ваши параметры будут установлены за вас.

Варианты, насколько может видеть глаз

Это правда, что команда shop имеет много опций, но вам не нужно разбираться со всеми сразу, если вообще когда-либо. Поскольку их так много, вероятно, некоторые из них не будут вам интересны.

Например, существует множество программ, которые заставляют Bash работать так, чтобы они были совместимы с конкретными старыми версиями. Кому-то это может быть полезно, но это довольно нишевый случай.

Вы можете просмотреть справочную страницу Bash или Справочное руководство GNU Bash. Решите, какие варианты будут иметь значение для вас, а затем поэкспериментируйте с ними. Просто будьте осторожны с параметрами, влияющими на способ раскрытия имен файлов и каталогов. Попробуйте их с помощью легкой команды, такой как ls, пока вы не освоитесь с ними.