跳到正文
docai.cc

DOCAI · 课程 · L3 · 21 分钟 · 命令参考

`claude "query"`:带初始提示启动

已经想好第一句时,把问题直接跟在命令后面,进入会话即开工。这一节讲清引号规则、它和单次模式的区别,以及第一句怎样写才不浪费。

Claude Code 程序员 · CLI 命令详解

你将学会

  • 能在启动时正确传入带空格和标点的提示词
  • 能分清交互启动与单次查询的适用场景
  • 能写出让首轮更有效的开场任务

省掉那一步「进去再问」

打开终端、进项目、敲 claude,等界面出来,再把心里那句问题打进去。这套动作每天重复十次,就是十次多余的等待。

如果你已经知道第一句要问什么,把它跟在命令后面即可:

claude "帮我看看 src/index.ts 有没有明显的空指针风险"

启动完成后,这句话已经作为第一轮输入发出,界面里直接出现它的回应。这不是一次性执行——回答完之后你仍然可以继续追问。

引号不是装饰,是语法

命令行按空格切分参数。提示词不整体包起来,后半句就会被当成另一个参数,轻则报错,重则静默丢掉一半信息。

# 错:后半句被当成独立参数
claude 检查 src 下所有 async 函数

# 对:整句放进一对引号
claude "检查 src/ 下所有 async 函数有没有漏掉错误处理"

还有两种情况值得留心:

  • 提示词里含反引号或 $ 时,双引号仍会让 shell 尝试求值。改用单引号,它就原样传过去;
  • 中文问句里的逗号、问号不是命令分隔符,不用转义,但整句仍要包好。
claude '对比 src/old.ts 和 src/new.ts,说明哪个更好,并给出理由'

它和 -p 完全是两回事

名字相近,行为差别很大:

写法 进入对话 适合
claude 是,空白开始 还没想好从哪问
claude "query" 是,首句已发出 想好了第一句,还要继续聊
claude -p "query" 否,跑完退出 脚本、流水线、一次拿结果

最容易混的是后两者。claude "query" 只是把第一轮提前,会话照样开着;-p 是无人值守模式,进程结束即走。把该交互的任务写成 -p,你会看到一个跑到一半没人确认的进程;反过来,把脚本任务留给交互模式,就永远自动不起来。

第一句写什么最划算

首轮的价值在于「对齐」,不在于「产出」。开场先让它读、再说理解,你才有机会纠正方向:

先读 README、package.json 和 src/ 的入口文件,然后用五条以内的要点告诉我:这个项目怎么启动、测试怎么跑、核心模块各负责什么。先不要改任何文件。

这类请求有三个好处:范围清楚、结果可核对、零副作用。它读偏了你立刻能发现,而不是等改完代码才察觉。

相反,首句就写「重构整个项目」通常换来一份泛泛的计划。任务越大,第一轮的偏差越难纠正。

把条件一并带上

启动参数可以直接和提示词组合:

claude --model <模型名> "读一遍 src/api/,画出模块之间的依赖"
claude --permission-mode plan "给出重构方案,先不要动手"
claude --append-system-prompt "回答一律用简体中文,先结论后理由" "检查这次改动"

plan 这类权限模式适合只想要方案、不想让它落地的场合;具体取值以当前版本为准,可用 Tab 补全查看。相关概念见提示词。

参数建议集中放在提示词前面:读起来更像一句完整的命令,复制给别人时也不容易漏掉引号。

接着上次的会话继续

一天里常常是同一件事分几段做。每次重新交代背景很浪费,可以把上一次的上下文接回来:

# 继续最近一次会话
claude --continue

# 继续,并在开头补一句新任务
claude -c "刚才那个缓存函数,补一组单元测试"

# 恢复指定会话;不给 ID 时通常会出现列表让人挑
claude --resume

-c 是继续最近一次,--resume 是挑一次恢复;两者都会带回之前的讨论与改动记录。会话按项目目录归档,换一个目录启动时可能看不到,先 cd 回原来的项目再恢复。恢复之后的第一句同样要写清目标,别默认它记得你脑子里的事。具体参数以当前版本的 claude --help 为准。

进到界面里:按键与 Vim 模式

进入交互界面后,几组按键值得先记住:

操作 按键 说明
发送 Enter 单行输入直接发送
换行 Shift+Enter 多数现代终端原生支持;不生效时查终端配置,或临时用反斜杠加回车
中止当前操作 Ctrl+C 空闲时再按一次退出
清屏 Ctrl+L 只清显示,上下文还在
翻历史输入 ↑ / ↓ 找回上一条问过的话
看斜杠命令 /help 列出当前可用的命令

习惯 Vim 的可以在 /config 里把 Editor mode 设为 vim(也可以把 "editorMode": "vim" 写进设置文件);开启后 i 进插入模式,Esc 回普通模式,编辑长提示词会顺手很多。只想先熟悉界面,可以看交互式会话入门。

三个常见的坑

  1. 不加引号。 多词提示词被拆散,最隐蔽的后果是它只收到前半句却照样回答。
  2. 首句塞进五件事。 它通常挑一件做,其余被忽略;拆成几轮,每轮一个目标。
  3. 在错误目录启动。 它读不到目标文件,只能凭文件名猜,答案看着像模像样却对不上你的项目。多目录的项目先 cd 到主目录,再用 --add-dir 把其他目录加进可读范围。

另外,别把密钥、口令粘进首句。需要的凭据走环境变量或登录态,不要出现在命令历史里。

启动阶段报错,先按三层排查:提示命令不存在,查全局安装是否成功(npm list -g @anthropic-ai/claude-code);要求登录或鉴权失败,先确认变量有值,再重新走一次 /login;想看清请求细节,加 --verbose。这三层都和提示词无关,别急着改问法。

带初始提示启动省下的是一步操作,真正决定效果的是第一句的范围。想先了解它和普通对话的差别,可以看什么是 Claude Code。下一节换到无人值守的场景,看单次查询模式怎么把结果交给脚本。

自测

先自己回答,再展开对照;答不上来就回到对应小节。
  1. 01claude "query" 和 claude -p "query" 的关键差别是什么?看答案

    前者进入交互会话,答完还能追问;后者执行一次就退出,适合脚本。

  2. 02提示词里有空格或反引号时要注意什么?看答案

    整句用一对引号包住;含反引号或 $ 时优先用单引号,避免被 shell 先解释。

查看 Markdown

涉及的概念

在知识树上

相关动态

全部新闻 →