Программный код на тёмном экранеФото: Luis Gomes / Pexels ← Все темы Тема Bashdays

Bash

Скрипты и практические примеры на Bash: автоматизация, администрирование Linux и DevOps-подходы к работе с инфраструктурой.

146материалов
Сначала новые

Статьи по теме

Страница 2 из 13

bash

Как проверять код через pre-commit

Настраиваем Git-хук pre-commit для автоматической проверки Bash-скриптов через ShellCheck. В качестве бонуса адаптируем тот же подход для Ansible-плейбуков и ansible-lint.

bash

Как настроить подсказки и темы в Bash

Добавляем в чистый Bash автоподсказки и подсветку команд с помощью BLE.sh. Затем устанавливаем oh-my-posh, подключаем темы оформления через профиль оболочки и получаем удобный терминал без Zsh.

bash

Двоичное кодирование через basenc

Показываем, как утилита basenc из GNU coreutils кодирует UTF-8-текст в двоичное представление и возвращает его обратно. Разбираем параметры base2msbf, ширину вывода и байт перевода строки.

bash

Двоеточие или true в бесконечном цикле Bash

Сравниваем два бесконечных цикла Bash — с командами : и true. Объясняем одинаковый код возврата, роль пустой команды и наследие Bourne Shell, а также оцениваем читаемость обоих вариантов.

bash

Подстановка команд в Bash без обратных кавычек

Сравниваем современную подстановку `$(command)` и устаревшие обратные кавычки в Bash. На примерах показываем проблемы вложенности, экранирования и читаемости gravemarks.

bash

Как управлять курсором в Bash-терминале

Скрываем курсор на время выполнения команды и возвращаем его перед выводом Bash prompt. Разбираем `PROMPT_COMMAND`, псевдосигнал DEBUG, `trap` и управляющие ANSI-последовательности.

bash

Как скачать файл средствами Bash

Скачиваем файл без curl и wget через встроенное устройство `/dev/tcp` в Bash. Разбираем HTTP-запрос, файловый дескриптор и ограничения прямого сокетного соединения без TLS.

bash

Как пронумеровать строки одним вызовом sed

Решаем задачу нумерации строк одним процессом sed вместо связки из двух вызовов. Используем команду `=` и управляющие ANSI-последовательности для перемещения курсора в терминале.

bash

Как проверять Bash-скрипты через ShellCheck

Подключаем ShellCheck для статического анализа Bash-скриптов и поиска ошибок до запуска. Разбираем установку, базовую проверку, отчёты SC-кодов и интеграцию линтера с Vim и VS Code.

bash

Как запускать фоновые задания по числу ядер

Ограничиваем число параллельных фоновых заданий в Bash без GNU Parallel. Скрипт использует `nproc`, `jobs`, цикл ожидания и `wait`, чтобы равномерно загрузить ядра и дождаться всех задач.

bash

Шпаргалка по перенаправлению потоков в Bash

Шпаргалка по перенаправлению stdout и stderr в Bash: `>`, `>>`, `2>`, `&>`, `tee` и `|&`. Показываем, какие потоки остаются в терминале, какие попадают в файл и как меняется существующий файл.

bash

Как работает set -k в Bash

Разбираемся с малоизвестной настройкой `set -k` в Bash, которая превращает присваивания в окружение команды независимо от их позиции. На примере `dd` показываем неожиданное поведение и способ отключить режим через `set +k`.

О направлении

Что входит в тему

Bash — раздел BashDays, посвященный Bash, Shell scripting и работе в терминале Linux.

В разделе публикуются материалы по:

  • Bash-скриптам
  • Shell scripting
  • Однострочникам
  • Автоматизации задач
  • Cron
  • Работе с файлами
  • Обработке данных
  • Администрированию Linux

Здесь собраны практические примеры скриптов, приемов работы в терминале и способов автоматизации повседневных задач администратора.