HermesClaw v0.3.6 — macOS bash 3 compat + curl|bash stdin fix
·
1 commit
to main
since this release
Immutable
release. Only release title and notes can be modified.
修复
🐛 macOS 安装失败 — mapfile: command not found
macOS 自带 bash 3.2(GPL 授权限制),不支持 bash 4+ 内置的 mapfile。安装脚本里所有 3 处 mapfile 调用均已替换为 while IFS= read -r 循环,macOS 开箱可用。
🐛 curl | bash 安装静默中止
set -euo pipefail 下,裸 read 在 stdin 为管道(curl 输出)时返回非零,触发 set -e 立即退出,导致Aborted.出现在用户还没来得及输入任何内容之前。
修复:检测到非 tty stdin 时,把所有交互提示重定向到 /dev/tty,用户仍可正常回答;若 /dev/tty 也不可用(CI / Docker 无终端),则 fallback 到 auto-yes。全部 3 处 read 同时加了 || VAR="" 兜底。
🧪 5 个回归测试
新增 tests/test_install_sh.py,覆盖 mapfile 缺失、bash 语法、read 保底、tty 检测及非交互式 stdin 场景。
感谢 @ShxxxNewBee、@siasbaily、@csloz 报告并诊断这些问题 🙏