SuperAPI AI 工具集

posix-shell-pro

编程与开发

查看项目

更新于 10-15 22:32

技能介绍

用途:在需要严格 POSIX sh 脚本、追求跨 Unix 类系统可移植性的任务中提供指导、最佳实践与检查清单。仅当任务与 POSIX shell 脚本明确相关时使用,范围外任务不适用,且不能替代具体环境的验证、测试或专家审查。

主要能力:强调 POSIX 合规与 shell 无关脚本;防御式编程与可移植错误处理;不使用 bash 特性的安全参数解析;可移植文件操作与资源管理;跨平台兼容(Linux、BSD、Solaris、AIX、macOS);用 dash、ash 及 POSIX 模式验证;以 ShellCheck 的 POSIX 模式做静态分析;仅用 POSIX 规定特性,并兼容遗留与嵌入式环境。

关键约束:不使用数组、[[ 条件、进程替换 <()/>()、花括号扩展、local 关键字、declare/typeset/readonly、+= 拼接、${var//pattern/replacement}、关联数组,以及 source(改用 .)。

使用方式:始终用 #!/bin/sh;用 set -eu(POSIX 无 pipefail);所有变量加引号;条件用 [ ];用 while 与 case 解析参数;用 mktemp 建临时文件并以 trap 清理;输出用 printf;用 . 引入脚本;显式 || exit 1 处理错误;设计为幂等并支持 dry-run;小心处理并还原 IFS;用 [ -n ]/[ -z ] 校验输入;用 -- 结束选项解析。

测试与工具:用 dash/ash/bash --posix 验证;命令如 shellcheck -s sh *.sh && shfmt -ln posix -d *.sh && checkbashisms *.sh;可用 bats-core、shellspec、shunit2、sharness 等框架;在 Alpine(ash)、Debian(dash)容器及 BusyBox 环境测试。

限制:资料未提供具体安装命令、收费、平台或效果数据;输出不能替代环境特定验证与专家审查,缺少输入、权限或成功标准时应先澄清。