SuperAPI AI 工具集

shell-scripting

测试与质量

查看项目

更新于 10-15 21:09

技能介绍

用途:为编写健壮、可维护的 Bash 与 Zsh 脚本提供专家级指导,覆盖自动化与命令行工具使用的最佳实践,适用于需要编写、调试或改进 shell 脚本的场景。

主要能力:脚本结构规范,建议以 #!/usr/bin/env bash、set -euo pipefail、IFS=$'\n\t' 开头,分别实现出错退出、未定义变量报错、管道错误捕获与更安全的分词。核心实践包括:变量始终加引号("$variable")、条件判断使用 [[ ]]、用 command -v 检查命令是否存在、避免解析 ls 而改用 glob 或 find、用数组存放列表、用 trap 处理错误与清理(如 trap cleanup EXIT、trap 'echo "Error on line $LINENO"' ERR)。

常见模式:参数解析用 while [[ $# -gt 0 ]] 配合 case;安全遍历文件用 while IFS= read -r -d '' file 配合 find -print0,或用 glob 并检查 [[ -e "$file" ]];用户确认用 read -rp;彩色输出用 ANSI 转义码并将错误输出到 stderr。函数组织上提供 usage() 与 main() 的写法示例。

现代工具替代:在合适时可建议 ripgrep、fd、fzf、jq、yq、bat、eza 等替代传统命令。Zsh 专属特性包括递归与排除 glob、参数大小写扩展、关联数组与 setopt extended_glob。

安全与性能:不要 eval 不可信输入,校验用户输入,用 mktemp 创建临时文件,谨慎使用 rm -rf,注意 TOCTOU 竞态,不要把密钥写进脚本。性能上优先使用内建命令、避免不必要子 shell、用 read 而非 cat | while,并可用 xargs -P 或 GNU parallel 并行处理。

限制:资料未提供该技能的安装方式、收费信息、支持平台与具体使用步骤;完整生产级模板位于 references/template.sh,资料中未给出其内容。