执行命令#
执行命令节点可在运行 n8n 的主机上执行 shell 命令。
安全注意事项
在执行命令节点可能在使用非可信用户的环境中引入重大安全风险。因此,n8n 建议在此类设置中禁用该节点。
命令在哪个 shell 中运行?
此节点使用主机的默认 shell 来执行命令。例如,Windows 系统使用 cmd,macOS 系统使用 zsh。
若通过 Docker 运行 n8n,命令将在 n8n 容器内执行而非 Docker 宿主机。
若使用队列模式,在生产模式下命令将在执行任务的 Worker 节点上运行。进行手动执行时,除非将 OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS 设为 true,否则命令将在主实例上运行。
云端版本不可用
此节点在 n8n Cloud 中不可用。
节点参数#
通过以下参数配置节点。
单次执行#
选择节点仅执行一次(开启)还是对接收的每个输入项均执行一次(关闭)。
命令#
输入要在主机上执行的命令。关于运行多个命令和cURL 命令的示例,请参阅后续章节。
运行多个命令#
通过以下两种方式之一在单个执行命令节点中运行多个命令:
- 使用
&&分隔多行命令。例如,可通过&&将切换目录 (cd) 命令与列表 (ls) 命令结合使用。
cd bin && ls
- 每条命令请单独占一行。例如,您可以在变更目录(cd)命令后的新行中输入列表(ls)命令。
cd bin ls
运行 cURL 命令#
您也可以使用 HTTP 请求 节点来发起 cURL 请求。
若要在执行命令节点中运行 curl 命令,您需要基于现有的 n8n 镜像构建 Docker 镜像。默认的 n8n Docker 镜像使用 Alpine Linux 系统,您需要先安装 curl 软件包。
- 创建名为
Dockerfile的文件 - 将以下代码片段添加到 Dockerfile 中
FROM docker.n8n.io/n8nio/n8n
USER root
RUN apk --update add curl
USER node
- 在同一文件夹中,执行以下命令以构建 Docker 镜像。
docker build -t n8n-curl
- 替换先前使用的 Docker 镜像。例如将
docker.n8n.io/n8nio/n8n替换为n8n-curl。 - 运行新建的 Docker 镜像。此时即可通过执行命令节点(Execute Command Node)运行 ssh 命令。
模板与示例#
从多个网页抓取并存储数据 作者:Miquel Colomer 查看模板详情
工作流与凭证的 Git 备份 作者:Allan Daemon 查看模板详情
追踪产 品价格变化 作者:sthosstudio 查看模板详情
常见问题#
关于常见疑问/问题及建议解决方案,请参阅常见问题。