CCA-F 练习题库· Claude Code Configuration & Workflows
在一个 CI 任务中你运行:claude -p "apply the lint fixes" --permission-mode acceptEdits。acceptEdits 做什么,以及还有什么仍然需要显式批准?
- A它会在运行结束时用根据 diff 生成的提交信息自动提交产生的改动,并推送到该任务检出的分支,因此 CI 流水线不需要单独的 git 步骤,也不需要 Claude Code 已持有的凭据之外的其他凭据。
- B它会在整次运行中批准每一个工具,包括任意的 Bash 命令和对外网络请求,等同于完全绕过权限,因此其他任何东西都不再需要 --allowedTools 条目。
- C它会拒绝所有编辑、只允许只读的分析,所以 Claude 只会把 lint 修复以建议 diff 的形式打印出来、由人工手动应用;任何写入尝试都会以权限错误终止本次运行。
- D它与 -p 一起使用是无效的;权限模式只在交互式会话中起作用。
- E它会自动批准文件写入和常见的文件系统命令(mkdir、touch、mv、cp),但其他 shell 命令和网络请求仍然需要一条 --allowedTools 条目或一条 permissions.allow 规则,否则一旦尝试执行,运行就会中止。
正确答案:E
解析
已对照官方 Claude Code headless 文档(code.claude.com/docs/en/headless)核实,该文档几乎逐字写道:acceptEdits 让 Claude 无需提示即可写入文件,并且还会自动批准 mkdir、touch、mv、cp 等常见的文件系统命令,而其他 shell 命令和网络请求仍然需要一条 --allowedTools 条目或一条 permissions.allow 规则,否则一旦尝试执行,运行就会中止。
文档甚至使用了完全相同的示例 claude -p "Apply the lint fixes" --permission-mode acceptEdits,确认权限模式在 headless 的 -p 模式下完全有效(这正是其预期的 CI/CD 用法)。
- E与此精确吻合。
- B描述的是 bypassPermissions(另一种全面绕过权限的模式),而不是 acceptEdits。
- C是错的,因为 acceptEdits 是允许编辑而不是拒绝编辑。
- D是错的,因为该模式可以与 -p 一起使用,而且文档中就是这样记载的。
- A是错的,因为不会自动提交或推送任何东西。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。