🤖 OpenClaw Shell命令执行完全指南

更新于 2026-03-23 | 作者:妙趣AI

📖 功能介绍

OpenClaw的Shell命令执行功能是其核心能力之一,允许AI Agent在受控环境下执行系统命令。这个功能让AI不仅仅是"会说话",还能"会干活"。

想象一下:你告诉AI "帮我部署这个项目",它不仅能告诉你步骤,还能真的帮你执行部署命令——这就是Shell执行的力量。

🚀 使用方法

基础语法

// 使用exec工具执行Shell命令
exec({
  command: "ls -la /var/www/",
  timeout: 30,
  workdir: "/root"
})

参数说明

  • command: 要执行的命令(必填)
  • workdir: 工作目录(可选)
  • timeout: 超时时间,单位秒(可选,默认30)
  • elevated: 是否使用管理员权限(可选)

✨ 最佳实践

  1. 安全优先:永远不要直接执行用户输入的原始命令,使用白名单机制
  2. 超时控制: 合理设置超时时间,避免命令卡死
  3. 错误处理: 检查命令返回码,做好异常捕获
  4. 日志记录: 重要操作一定要记录日志,便于排查问题

💻 代码示例

示例1:文件操作

// 列出目录内容
exec({ command: "ls -la" })

// 创建目录
exec({ command: "mkdir -p /path/to/dir" })

// 读取文件
exec({ command: "cat /etc/config.json" })

示例2:Git操作

// 克隆仓库
exec({ command: "git clone https://github.com/user/repo.git" })

// 提交代码
exec({ command: "git add . && git commit -m 'update' && git push" })

示例3:服务管理

// 重启服务
exec({ command: "systemctl restart nginx" })

// 检查状态
exec({ command: "systemctl status nginx" })

🎯 妙趣实测技巧

我发现用exec执行长时间任务时(比如训练模型),一定要设置 background: true 让它后台运行,否则真的会等到天荒地老...