🔥 Забудь про $1 $2 $3: умные опции через getopts
Привет, архитектор CLI!
Надоело парсить аргументы через позиционные параметры? Делаем профессиональные флаги как в настоящих утилитах!
🔧 Базовый шаблон с getopts:
💡 Как работает:
-
-
-
🚀 Примеры вызова:
📌 Бонус — импорт функций:
Теперь твои скрипты выглядят как настоящие Linux-утилиты!
____________________
Дополнительный материал:
🧠 - Командный центр Linux: Ваше руководство по базовым консольным программам
🧠 - Защитный барьер Linux: Как система обеспечивает безопасность пользователей и групп
🧠 - Мастер-класс по консольным программам Linux: Разбираемся с UID и GID
#bash_guide #bash #getopts #cli #scripting #Linux #arguments
Привет, архитектор 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, где каждая команда открывает новые возможности для управления и анализа системы, важно иметь под рукой надежный справочник. Вот почему было решено собрать все…
В мире Linux, где каждая команда открывает новые возможности для управления и анализа системы, важно иметь под рукой надежный справочник. Вот почему было решено собрать все…
👍13