shell-scripting
Написание надежных shell-скриптов
متاح أيضًا من: Joseph OBrien,Joseph OBrien
Shell-скрипты часто дают сбой из-за переменных без кавычек, отсутствия обработки ошибок и небезопасных паттернов. Этот навык предоставляет готовые для продакшена шаблоны, лучшие практики с учетом безопасности и современные альтернативы командной строки, чтобы помочь вам писать поддерживаемые Bash и Zsh скрипты.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "shell-scripting". Напиши Bash-скрипт для безопасной обработки лог-файлов
النتيجة المتوقعة:
- Начни с правильного shebang и безопасных опций: #!/usr/bin/env bash, set -euo pipefail
- Используй итерацию с null-разделителями: while IFS= read -r -d '' file
- Валидируй файлы перед обработкой: [[ -f "$file" ]] || continue
- Добавь trap для очистки: trap cleanup EXIT для удаления временных файлов
استخدام "shell-scripting". Как правильно обрабатывать ошибки и коды выхода в shell-скрипте?
النتيجة المتوقعة:
- Используй set -euo pipefail в начале скрипта для немедленного перехвата ошибок
- Проверяй коды выхода явно: if command; then ... else ... fi
- Используй ERR trap для захвата номеров строк: trap 'echo "Error on $LINENO"' ERR
- Создай функцию очистки с EXIT trap для освобождения ресурсов
استخدام "shell-scripting". Покажи мне, как безопасно обрабатывать пользовательский ввод в shell-скриптах
النتيجة المتوقعة:
- Всегда заключай переменные в кавычки: "$variable", а не $variable
- Валидируй ввод перед использованием с помощью сопоставления с паттерном: [[ "$input" =~ ^[a-zA-Z0-9]+$ ]]
- Избегай eval с недоверенным вводом - это позволяет внедрить код
- Используй read с явными промптами и валидацией
التدقيق الأمني
آمنThis is a pure knowledge/documentation skill containing shell scripting best practices and templates. The static scanner detected shell patterns (command substitution, backticks, external commands) but these are all in documentation examples showing how to write scripts safely. The content explicitly teaches security best practices including avoiding eval with untrusted input, using mktemp for temp files, and not storing secrets in scripts. No executable code, file access, or network operations exist - only educational examples demonstrating proper shell scripting techniques.
عوامل الخطر
⚡ يحتوي على سكربتات (1)
⚙️ الأوامر الخارجية (2)
درجة الجودة
ماذا يمكنك بناءه
Написание поддерживаемых скриптов
Изучение безопасного использования кавычек, обработки ошибок и паттернов организации для продакшен shell-скриптов.
Автоматизация задач деплоя
Создание надежных скриптов автоматизации с правильными trap-обработчиками и управлением сигналами.
Эффективное управление системами
Использование эффективных техник обработки файлов, управления процессами и манипуляции текстом.
جرّب هذه الموجهات
Покажи мне правильный заголовок и структуру для Bash-скрипта с использованием лучших практик, включая set -euo pipefail.
Как использовать set -euo pipefail, traps и правильные коды выхода для надежной обработки ошибок в shell-скриптах?
Напиши Bash-функцию для безопасной итерации по файлам с пробелами в именах, используя null-разделители вместо парсинга ls.
Создай шаблон скрипта, который работает и в Bash, и в Zsh с условными Zsh-специфичными возможностями и продвинутым globbing.
أفضل الممارسات
- Всегда заключайте переменные в кавычки: "$variable", а не $variable, чтобы безопасно обрабатывать пробелы и специальные символы
- Используйте set -euo pipefail в начале скрипта для раннего обнаружения ошибок и предотвращения скрытых сбоев
- Проверяйте наличие команд с помощью command -v перед использованием внешних инструментов для обеспечения переносимости
تجنب
- Не парсите вывод ls; используйте вместо этого globs с nullglob или find с -print0
- Избегайте eval с недоверенным вводом; это позволяет внедрять код и создает уязвимости в безопасности
- Не используйте переменные без кавычек; это вызывает разделение слов на пробелах и glob-расширение