全栈应用服务器

  • 全栈应用服务器 > 使用指南 > 沙箱服务概述 > 沙箱环境变量

    沙箱环境变量

    最近更新时间: 2026-02-12 11:21:59

    概述

    环境变量允许您在创建沙箱或执行代码/命令时传递配置信息。沙箱支持在多个作用域设置环境变量。

    默认环境变量

    沙箱会自动设置以下元数据环境变量:

    变量名 说明
    E2B_SANDBOX 设置为 true,用于进程识别是否在沙箱中运行
    E2B_SANDBOX_ID 沙箱的唯一标识符
    E2B_TEAM_ID 创建沙箱的团队 ID
    E2B_TEMPLATE_ID 使用的模板 ID

    设置环境变量的三种方式

    方式 1:创建沙箱时设置全局变量

    全局环境变量对整个沙箱生命周期内的所有代码和命令可见。

    import { Sandbox } from '@e2b/code-interpreter'
    
    async function main() {
      const sandbox = await Sandbox.create({
        envs: {
          MY_VAR: 'my_value',
        },
      })
      await sandbox.kill()
    }
    
    main()
    

    方式 2:执行代码时设置临时变量

    这些变量仅对该次代码执行可见,可以临时覆盖全局变量。

    import { Sandbox } from '@e2b/code-interpreter'
    
    async function main() {
      const sandbox = await Sandbox.create()
    
      const result = await sandbox.runCode('import os; print(os.environ.get("MY_VAR"))', {
        envs: {
          MY_VAR: 'my_value',
        },
      })
    
      await sandbox.kill()
    }
    
    main()
    

    方式 3:执行命令时设置临时变量

    这些变量仅对该次命令执行可见,可以临时覆盖全局变量。

    import { Sandbox } from '@e2b/code-interpreter'
    
    async function main() {
      const sandbox = await Sandbox.create()
    
      await sandbox.commands.run('echo $MY_VAR', {
        envs: {
          MY_VAR: '123',
        },
      })
    
      await sandbox.kill()
    }
    
    main()
    

    环境变量隔离

    重要:代码和命令级别的环境变量在操作系统中不是私有的。它们会临时覆盖全局变量,但对操作系统的其他部分仍然可见。

    以上内容是否对您有帮助?