[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-5af7274c-164f-4c34-be25-8c1db9208608":3,"$fTpM5siCv0Oo0wku0ZkleqbpJJDJ3OTaMMIjJtOYHIqo":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"5af7274c-164f-4c34-be25-8c1db9208608","bash-scripting","Bash脚本工作流程，用于创建具有防御性模式、错误处理和测试的生产级shell脚本。","cat_life_career","mod_other","sickn33,other","---\nname: bash-scripting\ndescription: \"Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.\"\ncategory: granular-workflow-bundle\nrisk: safe\nsource: personal\ndate_added: \"2026-02-27\"\n---\n\n# Bash Scripting Workflow\n\n## Overview\n\nSpecialized workflow for creating robust, production-ready bash scripts with defensive programming patterns, comprehensive error handling, and automated testing.\n\n## When to Use This Workflow\n\nUse this workflow when:\n- Creating automation scripts\n- Writing system administration tools\n- Building deployment scripts\n- Developing backup solutions\n- Creating CI\u002FCD scripts\n\n## Workflow Phases\n\n### Phase 1: Script Design\n\n#### Skills to Invoke\n- `bash-pro` - Professional scripting\n- `bash-defensive-patterns` - Defensive patterns\n\n#### Actions\n1. Define script purpose\n2. Identify inputs\u002Foutputs\n3. Plan error handling\n4. Design logging strategy\n5. Document requirements\n\n#### Copy-Paste Prompts\n```\nUse @bash-pro to design production-ready bash script\n```\n\n### Phase 2: Script Structure\n\n#### Skills to Invoke\n- `bash-pro` - Script structure\n- `bash-defensive-patterns` - Safety patterns\n\n#### Actions\n1. Add shebang and strict mode\n2. Create usage function\n3. Implement argument parsing\n4. Set up logging\n5. Add cleanup handlers\n\n#### Copy-Paste Prompts\n```\nUse @bash-defensive-patterns to implement strict mode and error handling\n```\n\n### Phase 3: Core Implementation\n\n#### Skills to Invoke\n- `bash-linux` - Linux commands\n- `linux-shell-scripting` - Shell scripting\n\n#### Actions\n1. Implement main functions\n2. Add input validation\n3. Create helper functions\n4. Handle edge cases\n5. Add progress indicators\n\n#### Copy-Paste Prompts\n```\nUse @bash-linux to implement system commands\n```\n\n### Phase 4: Error Handling\n\n#### Skills to Invoke\n- `bash-defensive-patterns` - Error handling\n- `error-handling-patterns` - Error patterns\n\n#### Actions\n1. Add trap handlers\n2. Implement retry logic\n3. Create error messages\n4. Set up exit codes\n5. Add rollback capability\n\n#### Copy-Paste Prompts\n```\nUse @bash-defensive-patterns to add comprehensive error handling\n```\n\n### Phase 5: Logging\n\n#### Skills to Invoke\n- `bash-pro` - Logging patterns\n\n#### Actions\n1. Create logging function\n2. Add log levels\n3. Implement timestamps\n4. Configure log rotation\n5. Add debug mode\n\n#### Copy-Paste Prompts\n```\nUse @bash-pro to implement structured logging\n```\n\n### Phase 6: Testing\n\n#### Skills to Invoke\n- `bats-testing-patterns` - Bats testing\n- `shellcheck-configuration` - ShellCheck\n\n#### Actions\n1. Write Bats tests\n2. Run ShellCheck\n3. Test edge cases\n4. Verify error handling\n5. Test with different inputs\n\n#### Copy-Paste Prompts\n```\nUse @bats-testing-patterns to write script tests\n```\n\n```\nUse @shellcheck-configuration to lint bash script\n```\n\n### Phase 7: Documentation\n\n#### Skills to Invoke\n- `documentation-templates` - Documentation\n\n#### Actions\n1. Add script header\n2. Document functions\n3. Create usage examples\n4. List dependencies\n5. Add troubleshooting section\n\n#### Copy-Paste Prompts\n```\nUse @documentation-templates to document bash script\n```\n\n## Script Template\n\n```bash\n#!\u002Fusr\u002Fbin\u002Fenv bash\nset -euo pipefail\n\nreadonly SCRIPT_NAME=$(basename \"$0\")\nreadonly SCRIPT_DIR=$(cd \"$(dirname \"$0\")\" && pwd)\n\nlog() { echo \"[$(date '+%Y-%m-%d %H:%M:%S')] $*\"; }\nerror() { log \"ERROR: $*\" >&2; exit 1; }\n\nusage() { cat \u003C\u003CEOF\nUsage: $SCRIPT_NAME [OPTIONS]\nOptions:\n    -h, --help      Show help\n    -v, --verbose   Verbose output\nEOF\n}\n\nmain() {\n    log \"Script started\"\n    # Implementation\n    log \"Script completed\"\n}\n\nmain \"$@\"\n```\n\n## Quality Gates\n\n- [ ] ShellCheck passes\n- [ ] Bats tests pass\n- [ ] Error handling works\n- [ ] Logging functional\n- [ ] Documentation complete\n\n## Related Workflow Bundles\n\n- `os-scripting` - OS scripting\n- `linux-troubleshooting` - Linux troubleshooting\n- `cloud-devops` - DevOps automation\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,83,211,"2026-05-16 13:08:22",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"b03cb1a6-979f-4ce9-bd66-aeab1c7cd839","1.0.0","bash-scripting.zip",1750,"uploads\u002Fskills\u002F5af7274c-164f-4c34-be25-8c1db9208608\u002Fbash-scripting.zip","72d75c6d696d6b7b36ac2d3db6e728160dabed67920a0e8100fd0e70757f5d6b","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4244}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]