生产自动化、CI/CD管道和系统实用程序的防御性Bash脚本编写大师。精通安全、可移植和可测试的shell脚本。技能概述bash-pro 技能是一个专业的Bash脚本编写技能专注于生产自动化、CI/CD管道和系统实用程序的防御性脚本编写。该技能深入掌握安全、可移植和可测试的shell脚本编写最佳实践。下载地址https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-pro主要功能防御性编程: 严格错误处理和防御模式跨平台可移植性: POSIX合规和平台兼容安全参数解析: 输入验证和安全参数处理健壮文件操作: 安全文件操作和临时资源管理进程编排: 管道安全和进程管理生产级日志: 结构化日志和错误报告全面测试: Bats框架测试和ShellCheck静态分析现代Bash特性: Bash 5.x特性和最佳实践触发条件在以下情况下应该调用此技能:编写或审查自动化、CI/CD或运维的Bash脚本加固shell脚本的安全性和可移植性核心能力1. 防御性编程严格模式set -Eeuo pipefail正确错误捕获和陷阱变量引用防止单词分割安全数组和迭代模式2. 安全模式避免eval和不安全的globbing安全参数解析getopts输入验证和清理安全临时文件创建mktemp3. 可移植性跨平台兼容性Linux、macOS、BSDGNU vs BSD工具差异处理Bash版本检测和特性回退可移植shebang#!/usr/bin/env bash4. 测试和质量Bats框架测试ShellCheck静态分析shfmt代码格式化CI/CD集成安全警告重要安全提示将输入视为不可信避免eval和不安全globbing在破坏性操作之前优先使用dry-run模式永远不要在用户输入上使用eval使用--分隔选项和参数验证所有安全关键操作的退出代码最佳实践严格模式: 始终使用set -Eeuo pipefail和正确错误捕获引用变量: 引用所有变量扩展以防止单词分割使用数组: 优先使用数组和正确迭代而非不安全模式Bash条件: 使用[[ ]]进行Bash条件判断安全临时文件: 使用mktemp和清理陷阱printf优于echo: 使用printf进行可预测的输出格式化幂等脚本: 设计幂等脚本并支持dry-run模式结构化日志: 实现带时间戳的结构化日志现代Bash特性5.xBash 5.0: 关联数组改进、${varU}大写转换、${varL}小写Bash 5.1: 增强的${parameteroperator}转换、compat shopt选项Bash 5.2: varredir_close选项、改进的exec错误处理、EPOCHREALTIME微秒精度限制说明重要提示仅当任务明确符合上述范围时使用此技能不要将输出视为环境特定验证、测试或专家审查的替代品如果缺少所需的输入、权限、安全边界或成功标准请停止并请求澄清
【研发类-编程语言Skills】bash-pro 技能
发布时间:2026/7/14 19:15:57
生产自动化、CI/CD管道和系统实用程序的防御性Bash脚本编写大师。精通安全、可移植和可测试的shell脚本。技能概述bash-pro 技能是一个专业的Bash脚本编写技能专注于生产自动化、CI/CD管道和系统实用程序的防御性脚本编写。该技能深入掌握安全、可移植和可测试的shell脚本编写最佳实践。下载地址https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-pro主要功能防御性编程: 严格错误处理和防御模式跨平台可移植性: POSIX合规和平台兼容安全参数解析: 输入验证和安全参数处理健壮文件操作: 安全文件操作和临时资源管理进程编排: 管道安全和进程管理生产级日志: 结构化日志和错误报告全面测试: Bats框架测试和ShellCheck静态分析现代Bash特性: Bash 5.x特性和最佳实践触发条件在以下情况下应该调用此技能:编写或审查自动化、CI/CD或运维的Bash脚本加固shell脚本的安全性和可移植性核心能力1. 防御性编程严格模式set -Eeuo pipefail正确错误捕获和陷阱变量引用防止单词分割安全数组和迭代模式2. 安全模式避免eval和不安全的globbing安全参数解析getopts输入验证和清理安全临时文件创建mktemp3. 可移植性跨平台兼容性Linux、macOS、BSDGNU vs BSD工具差异处理Bash版本检测和特性回退可移植shebang#!/usr/bin/env bash4. 测试和质量Bats框架测试ShellCheck静态分析shfmt代码格式化CI/CD集成安全警告重要安全提示将输入视为不可信避免eval和不安全globbing在破坏性操作之前优先使用dry-run模式永远不要在用户输入上使用eval使用--分隔选项和参数验证所有安全关键操作的退出代码最佳实践严格模式: 始终使用set -Eeuo pipefail和正确错误捕获引用变量: 引用所有变量扩展以防止单词分割使用数组: 优先使用数组和正确迭代而非不安全模式Bash条件: 使用[[ ]]进行Bash条件判断安全临时文件: 使用mktemp和清理陷阱printf优于echo: 使用printf进行可预测的输出格式化幂等脚本: 设计幂等脚本并支持dry-run模式结构化日志: 实现带时间戳的结构化日志现代Bash特性5.xBash 5.0: 关联数组改进、${varU}大写转换、${varL}小写Bash 5.1: 增强的${parameteroperator}转换、compat shopt选项Bash 5.2: varredir_close选项、改进的exec错误处理、EPOCHREALTIME微秒精度限制说明重要提示仅当任务明确符合上述范围时使用此技能不要将输出视为环境特定验证、测试或专家审查的替代品如果缺少所需的输入、权限、安全边界或成功标准请停止并请求澄清