bash-pro
프로덕션 환경용 Bash 스크립트 작성하기
자동화를 위한 안전하고 테스트 가능한 Bash 스크립트 작성에는 방어적 프로그래밍 패턴이 필요합니다. 이 스킬은 엄격한 오류 처리, 안전한 입력 검증, Bats 를 사용한 테스트, CI/CD 통합에 대한 전문적인 지침을 제공합니다.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "bash-pro". 타임스탬프가 포함된 아카이브로 디렉토리를 백업하는 스크립트 작성
النتيجة المتوقعة:
완전한 Bash 스크립트: set -Eeuo pipefail strict 모드, -s (소스) -d (대상) -h (도움말) 를 위한 getopts, 타임스탬프가 포함된 백업 파일명, 적절한 오류 처리가 포함된 tar, 임시 파일을 위한 cleanup trap, DRY_RUN 변수를 사용한 dry-run 모드, 포괄적인 --help 출력
استخدام "bash-pro". 임계값 이상일 때 경고하는 디스크 사용량 모니터링 스크립트 생성
النتيجة المتوقعة:
모니터링 스크립트: df 명령 파싱, 임계값 검증, 타임스탬프가 포함된 구조화된 로깅, syslog 통합, 누락된 명령의 우아한 처리, 환경 변수를 통한 구성 가능한 경고 수준
التدقيق الأمني
آمنThis is a prompt-only skill that provides guidance on defensive Bash scripting. Static analysis scanned 0 files (0 lines) and detected no suspicious patterns or risk factors. The skill contains no executable code and only provides instructional content for writing safe, production-grade shell scripts. No command injection, credential access, or malicious patterns detected.
ماذا يمكنك بناءه
CI/CD 스크립트를 구축하는 DevOps 엔지니어
오류를 우아하게 처리하고 임시 리소스를 정리하며 자동화된 테스트를 위해 GitHub Actions 와 통합되는 강력한 배포 및 빌드 스크립트를 생성합니다.
시스템 유틸리티를 작성하는 개발자
적절한 도움말 문서, 인수 검증, 로깅을 포함한 커맨드라인 도구를 구축하여 프로덕션 환경에서 안전하게 사용할 수 있습니다.
쉘 스크립트를 검토하는 사이트 신뢰성 엔지니어
ShellCheck 과 방어적 프로그래밍 패턴을 사용하여 기존 Bash 스크립트의 보안 취약점, 이식성 문제, 모범 사례 준수 여부를 감사합니다.
جرّب هذه الموجهات
[작업 내용 설명] 을 수행하는 Bash 스크립트를 작성하세요. strict 모드, getopts 를 사용한 인수 파싱, 적절한 오류 처리, --help 옵션을 포함하세요.
ShellCheck 으로 Bash 스크립트를 린트하고, shfmt 로 포맷팅하며, Bats 테스트를 실행하는 GitHub Actions 워크플로우를 생성하세요. 여러 Bash 버전에서 매트릭스 테스트를 포함하세요.
사용자 입력으로부터 파일을 안전하게 처리하는 Bash 스크립트를 작성하세요. 적절한 quoting, trap 을 사용한 임시 파일 정리, 입력 검증, NUL 안전 파일 처리를 포함하세요.
이 Bash 스크립트의 보안 문제, 오류 처리 누락, 이식성 문제를 검토하세요. 구체적인 ShellCheck 경고를 식별하고 수정 사항을 제공하세요: [여기에 스크립트 붙여넣기]
أفضل الممارسات
- 스크립트 시작 시 항상 strict 모드 활성화: set -Eeuo pipefail 로 오류와 정의되지 않은 변수를 감지
- 모든 변수 확장문 quote 처리: 단어 분할과 globbing 을 방지하기 위해 $var 가 아닌 "$var" 사용
- 정리를 위해 traps 사용: trap 'rm -rf "$tmpdir"' EXIT 는 임시 파일이 항상 제거되도록 보장
تجنب
- for f in $(ls ...) 사용 - 단어 분할 버그 발생; 대신 find 와 -print0 그리고 read -r -d '' 사용
- | pipefail 비활성 상태로 종료 코드 무시 - 항상 set -o pipefail 확인하고 중요한 명령 종료 상태 검증
- 사용자 입력에 eval 사용 - 심각한 보안 위험; 동적 명령 생성에는 대신 배열 사용