posix-shell-pro
Создание переносимых скриптов POSIX shell для любой Unix-системы
Скрипты оболочки часто не работают на разных системах из-за специфичных для bash функций. Этот навык гарантирует, что ваши скрипты работают везде благодаря строгому соответствию POSIX.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «posix-shell-pro». Создайте POSIX-скрипт для резервного копирования каталога с проверкой
Ожидаемый результат:
- #!/bin/sh
- set -eu
- Usage: backup.sh <source_dir> <dest_dir>
- if [ $# -lt 2 ]; then
- echo "Error: source and destination required" >&2
- exit 1
- fi
- src="$1"
- dest="$2"
- [ -d "$src" ] || { echo "Source not a directory" >&2; exit 1; }
- mkdir -p "$dest" || exit 1
- tar -cf - -C "$src" . | (cd "$dest" && tar -xf -)
- echo "Backup completed successfully"
Использование «posix-shell-pro». Переносимая проверка существования команды
Ожидаемый результат:
Use: command -v cmd >/dev/null 2>&1 && echo "found" || echo "missing"
Аудит безопасности
БезопасноThis is a prompt-only skill with no executable code. Static analysis scanned 0 files and detected 0 security issues with a risk score of 0/100. The skill provides instructional content on POSIX shell scripting best practices and actually promotes security patterns including input validation, safe variable quoting, cleanup traps, and warnings against eval on untrusted input. No network calls, command execution, or sensitive operations detected.
Факторы риска
⚙️ Внешние команды
Оценка качества
Что вы можете построить
Скрипты кроссплатформенного развертывания
Создавайте скрипты установки и развертывания, которые работают идентично на Linux, BSD, macOS и встроенных системах без необходимости установки bash.
Инструментарий для контейнеров и встроенных систем
Создавайте легковесные скрипты для Alpine Linux, BusyBox и сред с ограниченными ресурсами, где bash недоступен.
Администрирование устаревших систем
Поддерживайте и модернизируйте скрипты для старых Unix-систем, таких как Solaris, AIX и устаревший Linux, которые могут не иметь bash или использовать более старые версии.
Попробуйте эти промпты
Создайте соответствующий POSIX скрипт оболочки, который проверяет входные аргументы и выполняет простую файловую операцию. Включите правильную обработку ошибок с помощью set -eu, проверку входных данных и ловушки очистки.
Преобразуйте этот скрипт bash в строгий POSIX sh. Замените все массивы, [[ условные конструкции и специфичные для bash функции на соответствующие POSIX эквиваленты. Объясните каждое внесенное изменение.
Реализуйте соответствующий POSIX разбор аргументов для скрипта, который принимает -h для справки, -v для подробного вывода, -o для выходного файла и позиционные аргументы. Используйте while и case без getopts для длинных опций.
Создайте библиотеку функций POSIX shell, которая обрабатывает различия между платформами Linux, BSD, macOS и BusyBox. Включите определение ОС, проверку доступности команд и переносимые реализации общих утилит.
Лучшие практики
- Всегда заключайте в кавычки переменные как "$var" для предотвращения разбиения слов и подстановки имен файлов
- Используйте printf вместо echo для всего вывода, так как поведение echo различается в разных оболочках
- Реализуйте очистку с помощью trap команд для удаления временных файлов при сигналах EXIT, INT и TERM
Избегать
- Использование [[ условных конструкций или массивов bash, которые не работают в dash, ash и других оболочках POSIX
- Использование echo -e или echo -n, которые имеют непоследовательное поведение в разных системах
- Использование подстановки процессов <() или команды source вместо каналов и оператора точки