x-cmd 发布 v0.8.5: humantime 人性化时间转换,tmp 跨平台临时文件管理,assert 轻松搞定测试断言
TLDR: x-cmd v0.8.5 主要新增 7 个基础库的文档,回顾一下每个模块功能: 增加 人类说"等3小时",机器只懂"10800秒"。这个 GAP 由 humantime 来填。 支持 d/h/m/s,小数秒也行。下次写定时任务不用再心算了。 为 特别是检查数字范围、文件新旧、环境类型这些,test 命令的写法我总是记混。 支持类型检查、范围判断、文件新旧比较、环境检测。代码读起来更自解释。 为 有个函数偷偷改了 也支持常规的 true/false、类型检查、文件判断。写模块测试时用着挺顺手的。 为 sudo vim 进去,手一抖改错了,DNS 就全乱了。而且找域名的时候还得肉眼扫。 编辑前自动备份,操作都在临时文件完成,确认无误才写入。放心多了。 为 Linux 是 带 为 需要 UUID、假邮箱、随机 IP 的时候,总要去翻其他工具。 也支持浮点数、不同格式的字符串。写测试用例时少很多烦心事。 为 大小写转换、base64、trim、replace,这些简单操作其实挺常用的。 还支持 split/join、md5/sha256、换行符转换。日常字符串处理基本够用了。 修复配置自定义 endpoint 不生效的问题 —— 抱歉,这是个低级错误。 有用户反馈配置了中转站 endpoint 但请求还是跑到 Google 官方去了。 现在配置会正确生效了: 感谢 @shlroland 在 #376 的反馈。 现有用户可以通过以下命令快速切换至 Beta 版本进行体验: x-cmd 是一个一站式的命令行工具集,其强大的功能可以为人类用户和AI共同使用。它还简化了很多工具的安装方法。 如果您在自定义配置或代理设置中遇到任何疑问,欢迎前往 GitHub Issues 提交反馈,共同完善 X-CMD 生态。
🚀 x-cmd v0.8.5 Beta 更新详情
humantime ⏰
humantime 模块文档 —— 为时间参数转换提供底层支持。
它是 x sleep 3h、x timeout 2h30m 等命令的基础设施,让用户能直接用自然语言表达时间。x humantime 3600 # 输出 1h
x humantime 2h30m # 输出 9000is 🔍
is 模块增加文档 —— 写脚本时 [ ] 语法总让我心虚。
干脆封装成一个个子命令,语义更清晰。x is int 42 # 是不是整数?
x is minmax 1 100 50 # 50 在 1-100 范围内吗?
x is interactive # 当前是交互式 shell 吗?assert 🛡️
assert 模块增加文档 —— 被一次 debug 搞崩溃了。$HOME,后面所有命令全挂了,找了半天才发现。
所以做了这个测试工具,重点是变量快照功能:保存 → 执行 → 对比,一眼看出谁泄漏了。x assert true [ 1 -eq 1 ]
x assert var save; my_func; x assert var cmphost 🌐
host 模块增加文档 —— 改 /etc/hosts 这件事我始终觉得危险。
做个带模糊搜索的安全版本,自动备份,错了还能恢复。x host # 分页查看,支持搜索
x host fz # 模糊找域名
x host ed myapp.local=192.168.1.100tmp 📁
tmp 模块增加文档 —— 跨平台临时目录这事实在是太乱了。/tmp,macOS 可能是 $TMPDIR,Windows 又是另一套。写脚本时总要判断。
统一封装一下,还加了创建临时文件/目录的功能。x tmp path # 获取系统临时目录
x tmp mkdir cache # 创建临时目录
x tmp mkfile # 创建临时文件_ 后缀的是内部版本(如 x tmp path_),结果存变量,供其他脚本调用。rand 🎲
rand 模块增加文档 —— 写测试数据时 $RANDOM 不够用了。
干脆集成到一起,还能批量生成。x rand uuid
x rand uuidv7 # 时间有序的 UUID
x rand email 5 # 批量生成 5 个邮箱
x rand int 1 100 # 1-100 之间的随机整数str 🔤
str 模块增加文档 —— awk/sed/tr 组合拳我老是记混。
但每次都要想「这次该用哪个工具」就很烦。统一到一个命令里省事多了。x str upper hello
x str base64 hello
x str trim " spaced "gemini 🤖
查了下发现是配置读取时的逻辑问题,自定义 endpoint 没有被正确应用到请求中。x gemini --cfg endpoint=https://your-proxy.example.com⬆️ 如何升级
x upgrade beta如果你没有安装 x-cmd, 只需要打开你的终端:
eval "$(curl https://get.x-cmd.com)"
马上安装,让 x-cmd 协同 AI 成为你的最强助手,实现生产力翻倍!🤝 开发者反馈