SuperAPI AI 工具集

shell-scripting

编程与开发

查看项目

更新于 10-15 23:40

技能介绍

用途:指导编写可靠、可维护的 Bash 脚本,强调简洁、自动化工具与防御性编程,避免过度设计。

主要能力与规范:每个脚本须有可移植 shebang(#!/usr/bin/env bash)与严格模式 set -euo pipefail,并提交前运行 shellcheck script.sh 修复全部警告。核心安全模式包括:始终加引号引用变量(如 "${var}");用 ": "${REQUIRED_VAR:?必须设置}"" 校验必需变量;用 [[ -f ... ]]、command -v、[[ -d ... ]] 校验文件、命令与目录,失败时通过 die() 输出错误到 stderr 并退出。

常用模式:trap 'rm -rf "${tmpdir}"' EXIT 保证清理;mktemp -d 建临时目录;数组用 "${files[@]}" 迭代、mapfile -t 读取;条件用 [[ ]] 与 (( ));简单脚本用位置参数,复杂标志改用环境变量;优先进程替换而非临时文件,优先内建而非 sed/awk/expr;while read 用进程替换避免子 shell 丢变量;用 log()/error() 输出带时间戳日志;较长脚本采用 main 函数结构;操作尽量幂等。

适用场景:小于 100 行的小工具、包装脚本、编排其他程序、简单自动化、构建部署脚本、快速数据转换管道。

限制与禁止:不用于复杂业务逻辑、性能关键代码、大量错误处理、需数组以外数据结构或超过约 100 行、控制流不直观的场景;若增长到 1000+ 行应考虑改写为 Python 或 Go。避免反引号、eval、expr、$[ ]、解析 ls 输出、yes 管道、忽略错误码。格式约定 2 空格缩进、行长不超过 120 字符。官方文档未提供该技能的安装或调用命令,暂未提供。