Bash Ready | Linux
3K subscribers
231 photos
5 videos
74 links
Авторский канал по разработке на Bash и Shell.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it
Download Telegram
👩‍💻 Аргументы, опции и флаги: пишем скрипты как профи.

Bash-скрипт без аргументов — это как утилита без настроек.
Чтобы сделать скрипт гибким, мы добавляем флаги: -f, --help, --verbose и так далее.
Это делает его похожим на настоящую CLI-программу.

В этом посте:
Разбираемся, как Bash обрабатывает позиционные аргументы

Используем getopts и while/case для флагов

Добавляем валидацию и вывод подсказок

Пишем скрипт, который запускается с разными параметрами — как у взрослых.


🔥 — если узнал что-то новое

🚪 Bash Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍3
👩‍💻 Рассмотрим 7 must-know команд Bash — без них не обойтись ни одному пользователю Linux!

Это команды, с которых начинается любая работа в терминале: переходы между директориями, создание и чтение файлов, фильтрация вывода и поиск нужной информации.
Они простые, но критически важные — и используются в каждом втором скрипте.


🚪 Bash Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝19🔥6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Stepik — это обучающая платформа, которая предоставляет онлайн-курсы и интерактивные задания по программированию

📌 Оставляю ссылочку: stepik.org

🚪 Bash Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
Переименовываем все файлы в папке по шаблону!

Хочешь автоматом переименовывать кучу файлов в нужный формат? Покажу, как это делается на Bash!

Сначала определим папку с файлами и заготовим шаблон для нового имени:
folder="~/Documents/photos"
prefix="img_"


Теперь запускаем цикл по всем файлам и переименовываем каждый:
cd "$folder"
i=1
for file in *; do
ext="${file##*.}"
mv "$file" "${prefix}${i}.${ext}"
((i++))
done

• cd "$folder" — переходим в нужную папку
• ext="${file##*.}" — получаем расширение файла
• mv — переименовываем, добавляя префикс и номер
• ((i++)) — увеличиваем счётчик

Проверим работу:
Допустим, в папке были:
IMG1234.jpg, vacation.png, photo_01.jpeg


После скрипта:
img_1.jpg, img_2.png, img_3.jpeg


🔥 Теперь ты можешь массово наводить порядок в своих файлах и делать это как настоящий shell-ниндзя!

🚪 Bash Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍4
👩‍💻 Создаём резервную копию директории по расписанию.
Автоматизация на Bash + cron!


Надо сохранить важные файлы или конфиги? Не обязательно делать это вручную — можно написать простой скрипт и настроить регулярный запуск через cron.

В этом посте:
Пишем bash-скрипт, создающий .tar.gz архив с меткой даты.

Настраиваем права и вручную проверяем, что всё работает.

Добавляем задачу в cron, чтобы запускалась ежедневно.


🔥 — если узнал что-то новое
🤝 — если уже пробовал


🚪 Bash Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🤝11👍61
👩‍💻 Разбираем 7 ключевых техник отладки и обработки ошибок в Bash — без них не обойтись при написании надёжных скриптов!

Это приёмы, которые помогут отслеживать ошибки, автоматически завершать скрипт при сбоях, отлавливать сигналы и выводить полезную отладочную информацию.
Они делают поведение скрипта предсказуемым и избавляют от долгих часов ручной отладки.


🚪 Bash Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍6🤝5
Извлекаем все email’ы из файла!

Простой, но мощный приём: достаём все email-адреса из текстового файла с помощью одной команды. Без Python и лишних заморочек.

Допустим, у нас есть файл data.txt. Чтобы вытащить все email-адреса из него, воспользуемся grep с регуляркой:
grep -Eo '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' data.txt


Флаг -E включает расширенные регулярки, -o — выводит только совпадения, а регулярка охватывает большинство валидных email’ов.

Если хочешь сохранить результат в файл:
grep -Eo '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' data.txt > emails.txt


🔥 Удобно, если нужно быстро собрать базу для анализа, отладки или фильтрации.

🚪 Bash Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍6🔥5😁1
👩‍💻 Уведомляем о подозрительной активности в логах — простая автоматизация на Bash!

Если злоумышленник перебирает URL или сканирует сервер — это видно по логам, особенно по 404 ошибкам.
Вместо ручного мониторинга можно настроить скрипт, который сам найдёт аномалии и отправит письмо.

В этом посте мы:
Написали скрипт для поиска IP с большим числом 404.

Настроили отправку e-mail с подозрительными IP.

Запустили скрипт по расписанию через cron.


🔥 — если постараешься повторить
🤝 — если уже делал подобное


🚪 Bash Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍7🤝41😁1