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