Claude Code实战教程(10):命令行与自动化——将AI嵌入你的工作流
《从零开始的 Claude Code 实战系列教程》第 10 篇 · 公众号「麒麟剑的AI自动化Lab」连载
▲ 将 AI 能力嵌入自动化流水线,让开发流程更加智能高效
一、为什么需要 Claude Code CLI?
交互式会话虽然强大,但在以下场景中,非交互式的 CLI 模式更加高效:
- CI/CD 流水线:自动化代码审查
- 批量任务处理:一次性处理多个文件
- 脚本集成:将 AI 能力嵌入现有工作流
- 定时任务:定期分析代码质量
想象一下,每天早上自动运行一次代码质量分析,并生成报告发送到 Slack——这就是 CLI 模式的价值。
二、核心命令行参数
基本用法
# 非交互式运行
claude -p "修复这个 bug"
# 指定模型
claude -p "优化这段代码" --model claude-opus-5
# 输出 JSON 格式
claude -p "分析代码质量" --output-format json
# 使用 CLAUDE.md
claude -p "重构 auth 模块" --dangerously-skip-permissions完整参数表
| 参数 | 说明 | 示例 |
|---|---|---|
-p, --print | 非交互式运行 | claude -p "任务描述" |
--model | 指定模型 | --model claude-haiku-4.5 |
--output-format | 输出格式 | --output-format json |
--dangerously-skip-permissions | 跳过权限确认 | --dangerously-skip-permissions |
-c, --continue | 恢复上次会话 | claude -c |
-r, --resume | 恢复指定会话 | claude -r <session-id> |
--fork-session | 创建并行会话 | claude --fork-session |
--config | 指定配置文件 | --config ./my-config.json |
三、实战:创建自动化脚本
场景 1:批量代码审查
#!/bin/bash
# code-review.sh - 批量代码审查脚本
for dir in src/*/; do
echo "=== Reviewing $dir ==="
claude -p "审查 $dir 目录下的代码质量" --output-format json > review-${dir}.json
done
echo "代码审查完成"场景 2:自动修复 lint 错误
#!/bin/bash
# auto-fix.sh - 自动修复 lint 错误
npx eslint src/ --fix || true
claude -p "运行 ESLint 检查并修复所有错误"
echo "修复完成"场景 3:生成提交消息
#!/bin/bash
# commit-msg.sh - 自动生成提交消息
claude -p "根据当前 git diff 生成一个清晰的 commit message" \
--output-format json > commit.json
MESSAGE=$(cat commit.json | jq -r '.message')
git commit -m "$MESSAGE"四、CI/CD 集成
GitHub Actions 示例
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Claude Code Review
run: |
claude -p "请审查当前 PR 的代码质量、安全性和潜在问题" \
--output-format=json > review.json
- name: Upload Review
uses: actions/upload-artifact@v4
with:
name: code-review
path: review.jsonGitLab CI 示例
stages:
- review
ai_review:
stage: review
script:
- claude -p "审查当前 MR 变更" --output-format=json > review.json
artifacts:
paths:
- review.jsonJenkins Pipeline 示例
pipeline {
agent any
stages {
stage('AI Code Review') {
steps {
sh 'claude -p "审查代码变更" --output-format=json > review.json'
archiveArtifacts artifacts: 'review.json'
}
}
}
}五、Shell 别名与自动补全
创建别名
# 添加到 ~/.zshrc 或 ~/.bashrc
alias cc='claude'
alias ccr='claude -p "代码审查"'
alias ccg='claude -p "生成提交消息"'
alias ccd='claude --doctor'启用自动补全
# bash
compdef _claude claude
# zsh
autoload -Uz compinit && compinit
_clader_complete() {
local -a commands
commands=(
'help:显示帮助信息'
'review:代码审查'
'debug:调试'
)
_describe 'command' commands
}
compdef _clader_complete claude六、进度与日志
实时进度
claude -p "重构整个项目" --progress输出示例:
[1/10] 分析项目结构...
[2/10] 识别需要重构的模块...
[3/10] 开始重构 auth 模块...
...日志记录
claude -p "任务描述" --log-dir ./logs日志文件会保存在 ./logs 目录下,便于后续审计。
七、错误处理与重试
自动重试
# 失败后自动重试 3 次
for i in {1..3}; do
claude -p "任务描述" && break
echo "第 $i 次尝试失败,正在重试..."
sleep 5
done超时控制
# 设置 30 秒超时
timeout 30 claude -p "任务描述"八、实战:构建完整的自动化工作流
场景:每日代码质量报告
#!/bin/bash
# daily-report.sh - 每日代码质量报告
DATE=$(date +%Y-%m-%d)
REPORT_FILE="reports/quality-report-${DATE}.md"
echo "# 每日代码质量报告 - $DATE" > $REPORT_FILE
echo "" >> $REPORT_FILE
# 1. 代码审查
echo "## 代码审查结果" >> $REPORT_FILE
claude -p "审查最近一次提交的代码质量" >> $REPORT_FILE 2>&1
# 2. 安全检查
echo "" >> $REPORT_FILE
echo "## 安全检查" >> $REPORT_FILE
claude -p "检查代码中的安全风险" >> $REPORT_FILE 2>&1
# 3. 性能分析
echo "" >> $REPORT_FILE
echo "## 性能分析" >> $REPORT_FILE
claude -p "分析代码性能问题" >> $REPORT_FILE 2>&1
# 发送报告
cat $REPORT_FILE | mail -s "每日代码质量报告" team@company.com九、本章小结
| 场景 | 命令示例 |
|---|---|
| 非交互式运行 | claude -p "任务" |
| 指定模型 | claude -p "任务" --model haiku |
| JSON 输出 | claude -p "任务" --output-format json |
| CI/CD 集成 | GitHub Actions / GitLab CI |
| 批量处理 | Shell 循环 + claude |
| 别名快捷 | alias cc='claude' |
下期预告(第 11 篇):权限与安全——构建企业级AI编程助手的安全防线
关注本系列,从入门到专家,系统掌握 Claude Code 的全部技能。