Ain Executables深度解析:$(command)在模板中执行脚本,动态获取JWT Token就这么简单

发布时间:2026/10/27 4:29:44
Ain Executables深度解析:$(command)在模板中执行脚本,动态获取JWT Token就这么简单 Ain Executables深度解析$(command)在模板中执行脚本动态获取JWT Token就这么简单【免费下载链接】ainA HTTP API client for the terminal项目地址: https://gitcode.com/gh_mirrors/ai/ainAin 是一个运行在终端的 HTTP API 客户端可以用模板文件发起 API 请求。而它的 Executables 功能$(command)语法允许你在模板中直接执行任意脚本把命令的输出动态填进请求里——动态获取 JWT Token 就是这么简单。 Executables 是什么Ain 的模板文件.ain后缀由若干区块组成如[Host]、[Headers]、[Body]等。除了内置的环境变量${VAR}Ain 还支持Executables模板中任何$(command arg1 arg2)形式的表达式都会被替换为该命令的标准输出STDOUT。举个例子$(echo 1)会被直接替换成1。它的第一个词是$PATH中可执行的命令其余部分是参数。实现代码位于 internal/pkg/parse/executable.go多个 Executables 会并行执行并且受[Config]中Timeout的统一超时控制。几个关键特性✅与变量无缝组合环境变量先替换再执行命令所以$(cat ${ENV}/token.json)完全可行✅只替换一次命令返回的$(...)或${...}文本不会被二次处理避免意外❌[Config]区块除外超时必须在执行命令前确定因此该区块不支持 Executables 实战动态获取 JWT Token很多 REST API 都要求Authorization: Bearer token头。手动复制粘贴 Token 既繁琐又容易过期Ain 官方示例就用 Executables 优雅地解决了这个问题。第一步写一个获取 Token 的模板 examples/dummyjson.com/advanced/get-token.ain[Host] auth/login [Method] Post [Headers] Content-Type: application/json [Body] { username: emilys, password: emilyspass, expiresInMins: 30 }运行ain base.ain get-token.ain就能拿到完整的 JWT 响应。第二步在 examples/dummyjson.com/advanced/auth.ain 中嵌套调用自己用jq提取 Token[Host] auth/ [Headers] Authorization: Bearer $(bash -c ain base.ain get-token.ain | jq -r .accessToken)⚠️ 命令参数含空格或管道时需要用bash -c加引号包裹整个命令串这是 Executables 唯一需要留意的书写细节。最后把auth.ain加进任意请求即可自动携带 Tokenain base.ain auth.ain products/get.ain这样就实现了请求前自动登录、自动注入 Token的完整流程整个过程无需任何额外配置文件。️ 实用技巧与边界情况引号需要更复杂的管道逻辑时用sh -c find . | fzf -m | xargs echo这类命令串写法引号内可再用\、\转义相关用例见 test/e2e/templates/ok-quotes-in-executables.ain转义参数中出现)等结束符时用反引号转义如$(node -e console.log(Hi))变量先行${VAR}在命令执行前就已替换因此$(printf ${VAR})这种变量进命令的写法可用见 test/e2e/templates/ok-env-inside-executable.ain调试加-p参数可打印 Ain 最终组装出的 curl/wget/httpie 命令Token 是否正确注入一目了然 小结Executables 让 Ain 从API 客户端升级为API 工作流引擎Token 刷新、分页参数、动态 ID 都能以一行$(command)融入模板。配合多模板组合base.ainauth.ain 具体接口文件复杂认证场景也能保持极简。更多完整用法可以参考 examples/dummyjson.com/advanced/ 和 README.md 中的 Executables 章节。【免费下载链接】ainA HTTP API client for the terminal项目地址: https://gitcode.com/gh_mirrors/ai/ain创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询