sandbox exec 命令在已经运行的沙箱内执行单个命令,并将其输出流式传输回您的终端。用于一次性命令、脚本和自动化;如需交互式 shell 会话,请改用远程 shell(connect)命令。
前置条件
在运行命令之前设置PPIO_API_KEY 环境变量。您还需要运行中沙箱的 ID。
用法
ex。沙箱 ID 之后的所有内容都被视为要执行的命令。
参数
选项
前台执行
默认情况下,命令在前台运行。它的stdout 和 stderr 会实时流式传输到您的终端,CLI 以与远程命令相同的退出代码退出。
后台执行
传递-b / --background 可以启动命令并立即返回,而无需等待它完成。CLI 会打印进程 ID 并以代码 0 退出。
管道标准输入
您可以通过标准输入将数据通过管道传输到命令;CLI 会将其流式传输到远程进程,并在输入耗尽时发出文件结束信号,因此像cat、wc 和 grep 这样的工具可以正确终止。
管道标准输入需要较新的沙箱版本。如果沙箱不支持它,CLI 会打印警告并忽略管道输入 —— 重新构建您的模板以获取最新的沙箱版本。
退出代码和中断
- 在前台,CLI 以远程命令的退出代码退出,因此它可以自然地与 shell 脚本和 CI 组合。
- 如果命令无法启动或发生其他错误,CLI 会打印错误并以代码
1退出。 - 按
Ctrl+C(或发送终止信号)会在 CLI 退出之前杀死远程进程。