TGViewer
LinuxSkill - Сводки с прода и Шпаргалки LinuxSkill - Сводки с прода и Шпаргалки @linuxskill · 10.7K subscribers
Post #846 4.15K
🔥 Забудь про $1 $2 $3: умные опции через getopts

Привет, архитектор CLI!

Надоело парсить аргументы через позиционные параметры? Делаем профессиональные флаги как в настоящих утилитах!

🔧 Базовый шаблон с getopts:
#!/bin/bash

# Проверка аргументов
if [ $# -eq 0 ]; then
echo "Usage: $(basename $0) -mnopqrs"
exit 1
fi

# Парсинг опций
while getopts ":mnopq:rs" Option; do
case $Option in
m ) echo "Опция -m активна";;
n|o ) echo "Опция -$Option активна";;
p ) echo "Опция -p активна";;
q ) echo "Опция -q с аргументом: $OPTARG";;
r|s ) echo "Опция -$Option";;
* ) echo "Неверная опция";;
esac
done

# Сдвиг к не-опциям
shift $(($OPTIND - 1))


💡 Как работает:
- :mnopq:rs — строка опций (: после q = требует аргумент)
- $OPTARG — значение для опции с аргументом
- $OPTIND — индекс следующего аргумента

🚀 Примеры вызова:
./script.sh -m -n
./script.sh -mn # можно слитно!
./script.sh -q "значение"
./script.sh -mnop -q test


📌 Бонус — импорт функций:
# Загружаем общие функции
source /path/to/common_functions.sh
# или
. ./config.sh


Теперь твои скрипты выглядят как настоящие Linux-утилиты!
____________________

Дополнительный материал:
🧠 - Командный центр Linux: Ваше руководство по базовым консольным программам
🧠 - Защитный барьер Linux: Как система обеспечивает безопасность пользователей и групп
🧠 - Мастер-класс по консольным программам Linux: Разбираемся с UID и GID

#bash_guide #bash #getopts #cli #scripting #Linux #arguments
Telegram Linux Skill - Освой Linux c нуля до DevOps 🌟🐧 ""Командный центр Linux: Ваше руководство по базовым консольным программам"" 🛠️📚 В мире Linux, где каждая команда открывает новые возможности для управления и анализа системы, важно иметь под рукой надежный справочник. Вот почему было решено собрать все…
  • 👍 13
More from @linuxskill
  1. Oct 7, 2026Post #1243
  2. Oct 6, 2026GitOps-практики: развёртываем сервис через ArgoCD Классический CI/CD запускает деплой. Но…
  3. Oct 5, 2026Post #1241
  4. Oct 2, 2026📊 Диск тормозит, а iostat показывает норму? Ищем хвост задержек Приложение подвисает на з…
  5. Sep 30, 2026💀 CPU под 100%, а в top пусто? Ловим невидимые процессы через eBPF Сервер греется, в шапк…
  6. Sep 28, 2026🔥 Знаешь только ip a? 10 неочевидных команд ip для Linux Большинство админов знают про ip…
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 →