终端命令
更新时间 2026-05-11 16:21:07
最近更新时间: 2026-05-11 16:21:07
前提条件
在控制台完成沙箱模板创建。
在执行下文所有代码前,请先按照环境变量设置部分,完成环境变量设置。
执行命令
您可以使用 commands 类的 run 方法在沙箱实例中运行终端命令。
from e2b_code_interpreter import Sandbox
# 注意:修改下面模板为您的模板名称或者模板id
sandbox = Sandbox.create(template="my_test_code_template")
# 执行终端命令
response = sandbox.commands.run("ls")
# 可以通过user参数指定执行命令的身份,支持user和root
response = sandbox.commands.run("ls", user="root")流式返回
支持流式返回
command = """
echo foo
sleep 1
echo bar
"""
# 您可以根据您的需要传递on_stdout和on_stderr回调
sandbox.commands.run(
command,
on_stdout=lambda data: print(data),
on_stderr=lambda data: print(data)
)后台执行
支持后台执行命令
echo_code = """
for i in {1..3}; do
echo -n $i
sleep 1
done
echo done
"""
# 后台执行指令
echo_handler = sandbox.commands.run(echo_code, background=True)
# 等待后台执行的命令完成
response = echo_handler.wait(on_stdout=lambda data: print(data))列出正在运行的后台命令
command_list = sandbox.commands.list()结束后台运行的命令
command_list = sandbox.commands.list()
for command in command_list:
sandbox.commands.kill(command.pid)