生活分享
codex exec 与脚本集成
codex exec 在非互动模式执行一次任务,适合脚本与 CI。预设一般输出把进度放 stderr、最后回答放 stdout;--json 改成逐行 JSON 事件,不能把整份输出当成单一 JSON 物件解析。
阅读时间约 15 分钟 · 操作 20 分钟

返回 Codex 教学总目录Codex 学习中心:完整教程目录从安装、第一个任务到 MD 规则与进阶集成,规划 60 篇 Codex 教程、十个单元。按程度、平台、需求或命令搜索下一篇;尚未公开的教程会标示状态,方便安排学习路线。阅读全文
目标与准备
本段提到的教学与资源: CLI 安装与登入Codex CLI 安装与入门选择自己的安装平台,完成 CLI 登录、只读检查、单行修改、独立验证与工作阶段接续。包含可重做的两文件练习与缺文件测试。阅读全文
步骤 1:认识执行入口
codex exec 是终端机命令,不是桌面聊天的斜线指令。Windows 在 PowerShell 执行;macOS 的 Terminal 与 Linux 的终端机执行相同 CLI。若用 WSL,就在 WSL 里安装与登入后执行,不能把 Windows 的登入状态视为已同步。桌面与 IDE 可开终端机执行;手机画面上的对话不是这个本机程序,必须有能执行 CLI 的电脑或受控远端环境。各系统先执行以下两行,确认本机版本提供本文旗标,再继续。
codex --version
codex exec --help
| 介面 | 本篇内容 | 用法 |
|---|---|---|
| 终端机 | codex exec | 启动一次非互动工作 |
| 提示词参数 | Read tasks.md… | 告诉代理工作目标 |
| stdout | 最后答案 | 可存成文字档 |
| stderr | 过程与诊断 | 有文字不等于失败 |
| 退出状态 | 整数 | 0 代表程序成功结束,仍需验证答案 |
JSON/JSONLJSON 输出与结果验证区分事件串流与最终结果,解析结构化输出并拒绝缺栏位或错误格式。阅读全文 篇会切换 stdout 的格式;此处先保持普通文字。不要以诊断档是否空白、回答是否写著 Done,替代退出状态与内容检查。
步骤 2:建立独立输入
在自己的练习位置建立全新的 exec-lab 资料夹,再以编辑器开启它。若同名资料夹已有资料,改用另一个空白名称。新增 UTF-8 的 tasks.md,内容完整如下。不要使用正式专案、私有日志或整个使用者目录;一份小而可人工核对的清单就能练习输入与输出。接著在这个资料夹的终端机初始化 Git;本文不需要提交、远端或 GitHub 帐号。
# Practice tasks
Revision: exec-practice-1
- [x] Read the guide
- [ ] Create a practice file
- [ ] Verify the result
git init
git status --short
预期看到 tasks.md 是未追踪档案。Git 初始化只是满足 CLI 工作目录检查,没有把档案上传。先人工记下版本 exec-practice-1、总数 3、完成 1、未完成 2。不要把这些答案直接写进下一步提示词,才能检查它是否真的读到资料。若目前资料夹有其他档案,先用路径教学终端机与路径:找到专案根目录在 Windows、macOS、Linux 建立练习资料夹,确认目前目录并辨识相对与绝对路径。阅读全文确认自己位于哪里。
步骤 3:保存输出并立刻记下退出状态
以下两组选自己系统的一组,执行前确认 report-01.md、stdout-01.txt、stderr-01.log 不存在;macOS/Linux 也要确认 tasks-before.md 尚不存在;第二次练习改用 02,避免把旧答案误认为新成功。唯读沙盒限制代理的修改权限,shell 重新导向与 -o 仍会写出指定报告,这正是本篇要保存的产物。--ephemeral 不保留工作阶段档,仍不代表不会使用帐号额度或不会产生这三份档案。
$practiceBefore = (Get-FileHash -LiteralPath tasks.md -Algorithm SHA256).Hash
codex exec --sandbox read-only --ephemeral -o report-01.md 'Read tasks.md. Report its revision and the total, completed and pending checkbox counts. Do not edit input files or use external tools.' 1> stdout-01.txt 2> stderr-01.log
$practiceExit = $LASTEXITCODE
$practiceExit
Get-Content -LiteralPath report-01.md
$practiceBefore -eq (Get-FileHash -LiteralPath tasks.md -Algorithm SHA256).Hash
cp tasks.md tasks-before.md
codex exec --sandbox read-only --ephemeral -o report-01.md 'Read tasks.md. Report its revision and the total, completed and pending checkbox counts. Do not edit input files or use external tools.' > stdout-01.txt 2> stderr-01.log
practice_exit=$?
printf '%s\n' "$practice_exit"
cat report-01.md
cmp tasks-before.md tasks.md
提示词中的 external tools 指外部服务;Codex 可以用本机读档工具读取 tasks.md。退出状态要在下一个原生命令之前保存,否则可能变成另一条命令的状态。成功时检查三件事:状态为 0、报告含正确版本与 3/1/2、原始档相同。PowerShell 最后一行应为 True;macOS/Linux 的 cmp 无输出且退出 0 表示相同。若报告语言或句型不同,只要数值和依据正确就接受,不要求逐字一样。
步骤 4:确认失败不会被当成答案
codex exec --sandbox invalid 'Read tasks.md'
这一行应在解析参数时被拒绝,不会取得新的模型答案。PowerShell 紧接著输入 $LASTEXITCODE;macOS/Linux 紧接著输入 echo $?,应为非 0。此时上一轮的 report-01.md 可能仍存在,但不能拿来宣称本轮成功。修正为 read-only 后若要重跑,用新的输出档名并重新记录状态。不要为了消除错误改成略过权限或沙盒;参数错误、登入错误、额度不足与输入不存在应分别处理。
将结果记成两列:第一次唯读工作填实际输出档名、退出码与计数;无效旗标那列填「参数解析失败,未产生新答案」。查看旧 report-01.md 的内容仍在,只能证明旧档保留,不能填入第二列的成功栏。若第一轮尚未真的呼叫模型,就留为未执行,仍可独立完成无效旗标练习。
常见问题、还原与下一步
找不到 codex 时回到安装篇查 PATH,不在这里反复登入。出现 Git 工作目录错误就确认 exec-lab 及 git status,不直接略过检查。登入或用量错误先用 codex login status 查看登入状态,再依帐号与额度账号、登录、方案与额度先确认登入方式,才能判断用量扣在哪里。ChatGPT 帐号登入使用方案提供的 Codex 额度;以 API key 使用支援的客户端则需要另行确认 API 帐务。这篇不固定写入容易过期的价格或讯息上限,而是教你找到自己帐号的有效资讯。阅读全文查对应入口;不要公开诊断里的凭证、使用者路径或私人提示词。若要求互动授权导致无法继续,先回互动模式确认必要权限,再决定如何缩小非互动工作的范围。
最后保留本轮退出状态与核对结果,重新开启 tasks.md 确认内容。若要清理,用档案管理员逐一选取自己建立的 report、stdout、stderr,以及 macOS/Linux 的 tasks-before.md;不要删除整个专案目录或使用清除全部未追踪档的指令。你已完成一次可核对的唯读执行;下一篇把同样任务改成有栏位验证的结构化输出,之后才接入 CI把 Codex 接入 CI 工作流程设计有明确输入、权限与退出状态的 CI 工作,保存产物并区分建议与正式套用。阅读全文。本文旗标依官方文件及列出的 CLI help 核对;不把参考脚本通过当作每个读者帐号已成功执行模型。
返回 Codex 教学总目录Codex 学习中心:完整教程目录从安装、第一个任务到 MD 规则与进阶集成,规划 60 篇 Codex 教程、十个单元。按程度、平台、需求或命令搜索下一篇;尚未公开的教程会标示状态,方便安排学习路线。阅读全文
阅读完整文字说明
Prompt to codex exec to JSONL / report
同主题延伸阅读
生活分享
Codex 学习中心:完整教程目录
从安装、第一个任务到 MD 规则与进阶集成,规划 60 篇 Codex 教程、十个单元。按程度、平台、需求或命令搜索下一篇;尚未公开的教程会标示状态,方便安排学习路线。
生活分享
Worktree 与多任务隔离
Worktree 让同一个 Git 程式库有不同的工作目录,各自承接不同分支。它适合让两项工作分开改档,但资料库、连接埠与外部服务仍可能共用,不能把档案隔离当成所有资源隔离。
生活分享
实战:制作小网站
从 brief.md 规划并制作 Small Steps 待办网站,完成新增、完成、删除、筛选与本机资料保存。将 HTML、CSS、资料函式、画面事件与测试分开,以 Node 测试和浏览器操作验收,并留下可重新启动与还原的交接纪录。
生活分享
用量与效率:减少重工
记录任务条件、模型选项、时间与成果,找出能减少无效重试和过多上下文的调整。
引用本文的文章
最新旅游情报攻略

攻略东京
东京住哪一区:新宿、上野、东京站、涩谷、浅草、池袋、银座七区比较,机场交通、住宿税、行李寄送一次看
东京住哪一区?用同一套标准比较新宿、上野、东京站、涩谷、浅草、池袋、银座七个区域:从成田、羽田机场怎么过来、有哪些线路、周边有什么、街区氛围、适合谁。附比较表与山手线示意图,以及 2026 年 9 月核实的东京都住宿税(2027 年 4 月改为 3%)和机场宅急便寄送行李的规则。
- 预算
- 酒店

攻略东京
东京交通票券怎么选:Suica/Welcome Suica、Tokyo Subway Ticket、JR Pass 值不值得买
第一次去东京,每人先用一张 IC 卡按次付费(Welcome Suica 免押金、有效期 28 天)。一天搭四趟以上地铁,再加买 2,000 日元的 Tokyo Subway Ticket 72 小时券;只玩东京、不去关西,买 JR Pass 一定不划算。用决策图比较 TOURIST PASMO、iPhone 里的 Suica、东京 Metro 一日券能搭什么、不能搭什么;价格于 2026 年 9 月核实。
- 交通
- 预算

攻略东京
东京迪士尼乐园、海洋攻略:票价、梦幻泉乡 Fantasy Springs、尊享卡 DPA 与预约等候卡怎么用,第一次去选哪个园区
东京迪士尼一日护照采用浮动票价,2026 年 9 月平日大多为 9,900 日元、周末为 10,900 日元,官网每天 14:00 开售两个月后同一天的门票;免费的优先通行卡已不在官网服务清单,缩短排队时间只剩付费的迪士尼尊享卡(每人每次 1,000 至 3,500 日元)。另有运营时间与 25 周年活动、预约等候卡与报名体验、梦幻泉乡如何进入,以及第一次去选乐园还是海洋;2026 年 9 月通过东京迪士尼度假区官网核实。
- 行程范例
- 亲子
资料来源
- Codex non-interactive mode · 查证日期:
- CLI command reference · 查证日期: