Shell 工具 (run_shell_command
)
本文档介绍 Gemini CLI 中的 run_shell_command
工具。
描述
使用 run_shell_command
可以与底层系统交互、运行脚本或执行命令行操作。run_shell_command
会执行给定的 shell 命令。在 Windows 系统上,命令将通过 cmd.exe /c
执行。在其他平台上,命令将通过 bash -c
执行。
参数
run_shell_command
接收以下参数:
command
(字符串,必需):要执行的具体 shell 命令。description
(字符串,可选):命令用途的简要描述,会展示给用户。directory
(字符串,可选):执行命令的目录(相对于项目根目录)。如未提供,则命令在项目根目录下运行。
如何在 Gemini CLI 中使用 run_shell_command
当使用 run_shell_command
时,命令会作为子进程执行。run_shell_command
可以使用 &
启动后台进程。该工具会返回执行的详细信息,包括:
Command
:已执行的命令Directory
:命令运行的目录Stdout
:标准输出流的内容Stderr
:标准错误流的内容Error
:子进程报告的错误信息Exit Code
:命令的退出码Signal
:如果命令被信号终止,则显示信号编号Background PIDs
:启动的所有后台进程的 PID 列表
用法:
run_shell_command
使用示例
列出当前目录下的文件:
在指定目录中运行脚本:
启动后台服务:
重要注意事项
- 安全性:执行命令时要格外小心,特别是那些由用户输入构建的命令,以防止安全漏洞。
- 交互式命令:避免使用需要交互式用户输入的命令,这可能导致工具挂起。如果可用,请使用非交互式标志(例如
npm init -y
)。 - 错误处理:检查
Stderr
、Error
和Exit Code
字段以确定命令是否成功执行。 - 后台进程:当使用
&
在后台运行命令时,工具会立即返回,进程将继续在后台运行。Background PIDs
字段将包含后台进程的进程ID。