跳到主要内容

执行命令#

执行命令节点可在运行 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 软件包。

  1. 创建名为 Dockerfile 的文件
  2. 将以下代码片段添加到 Dockerfile 中
FROM docker.n8n.io/n8nio/n8n 
USER root
RUN apk --update add curl
USER node
  1. 在同一文件夹中,执行以下命令以构建 Docker 镜像。

docker build -t n8n-curl

  1. 替换先前使用的 Docker 镜像。例如将 docker.n8n.io/n8nio/n8n 替换为 n8n-curl
  2. 运行新建的 Docker 镜像。此时即可通过执行命令节点(Execute Command Node)运行 ssh 命令。

模板与示例#

从多个网页抓取并存储数据 作者:Miquel Colomer 查看模板详情

工作流与凭证的 Git 备份 作者:Allan Daemon 查看模板详情

追踪产品价格变化 作者:sthosstudio 查看模板详情

浏览执行命令集成模板,或搜索全部模板

常见问题#

关于常见疑问/问题及建议解决方案,请参阅常见问题