TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #595 628
shopt: малоизвестные настройки Bash, которые меняют поведение shell

Большинство пользователей знают про set -e или set -u, но в Bash есть ещё один мощный инструмент настройки - shopt.
С его помощью можно включать и отключать десятки дополнительных возможностей оболочки.

▪️Посмотреть доступные опции

shopt


Или только включённые:

shopt -s


▪️globstar - рекурсивный поиск без find

По умолчанию:

ls **/*.log


не сработает.

Включаем:

shopt -s globstar


Теперь:

ls **/*.log


найдёт все .log-файлы во вложенных каталогах.

▪️nullglob - если файлов нет

Без этой опции:

for file in *.log; do
echo "$file"
done


выведет:

*.log


Вместо пустого списка.

Исправляем:

shopt -s nullglob


Теперь цикл просто не выполнится.

▪️dotglob - учитывать скрытые файлы

По умолчанию * не включает файлы, начинающиеся с точки.
После:

shopt -s dotglob


они тоже попадут в результат.

▪️failglob - защита от опечаток

Если шаблон не совпал ни с одним файлом:

rm *.bak


с failglob Bash сразу сообщит об ошибке вместо передачи шаблона команде.

shopt -s failglob


Это помогает избежать неожиданных сценариев в автоматизации.

▪️Почему это важно

Несколько опций shopt способны заметно изменить поведение Bash без переписывания скриптов. Особенно полезны globstar, nullglob и failglob - они делают работу с шаблонами более удобной и предсказуемой.

BashTex 📱 #bash #linux
  • 👍 5
  • 🔥 1
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →