เอกสารประกอบสำหรับ node Execute Command ใน n8n ซึ่งเป็นแพลตฟอร์ม workflow อัตโนมัติ รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง
node Execute Command รันคำสั่งเชลล์บนเครื่องโฮสต์ที่รัน n8n
ข้อควรพิจารณาด้านความปลอดภัย (Security considerations)
node Execute Command อาจทำให้เกิดความเสี่ยงด้านความปลอดภัยที่สำคัญในสภาพแวดล้อมที่ทำงานกับผู้ใช้ที่ไม่น่าเชื่อถือ ด้วยเหตุนี้ node จึงเป็น ปิดการใช้งาน โดยค่าเริ่มต้นจาก n8n 2.0
เชลล์ใดรันคำสั่ง? (Which shell runs the command?)
node นี้ดำเนินการคำสั่งในเชลล์เริ่มต้นของเครื่องโฮสต์ ตัวอย่างเช่น cmd บน Windows และ zsh บน macOS
หากคุณรัน n8n ด้วย Docker คำสั่งของคุณจะทำงานในคอนเทนเนอร์ n8n ไม่ใช่โฮสต์ Docker
หากคุณกำลังใช้ โหมดคิว คำสั่งจะรันกับผู้ปฏิบัติงานที่กำลังดำเนินงานในโหมดการผลิต เมื่อเรียกใช้การดำเนินการด้วยตนเอง ระบบจะทำงานบนอินสแตนซ์หลัก เว้นแต่คุณจะตั้งค่าไว้ OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS ถึง true.
ไม่สามารถใช้งานได้บนคลาวด์ (Not available on Cloud)
node นี้ไม่พร้อมใช้งานบน n8n Cloud
parameter node
กำหนดค่า node โดยใช้ parameter ต่อไปนี้
Execute Once
เลือกว่าคุณต้องการให้ node ดำเนินการเพียงครั้งเดียว (เปิด) หรือหนึ่งครั้งสำหรับทุกรายการที่ได้รับเป็น input (ปิด)
Command
ป้อนคำสั่งเพื่อดำเนินการบนเครื่องโฮสต์ โปรดดูส่วนด้านล่างสำหรับตัวอย่างการวิ่ง คำสั่งหลายคำสั่ง และ คำสั่ง cURL .
เรียกใช้หลายคำสั่ง (Run multiple commands)
ใช้หนึ่งในสองวิธีเพื่อรันหลายคำสั่งใน node Execute Command เดียว:
ป้อนแต่ละคำสั่งในหนึ่งบรรทัดโดยคั่นด้วย
&&. ตัวอย่างเช่น คุณสามารถรวมคำสั่ง change directory (cd) เข้ากับคำสั่ง list (ls) ได้&&.cd bin && lsป้อนแต่ละคำสั่งในบรรทัดแยกกัน ตัวอย่างเช่น คุณสามารถเขียนคำสั่ง list (ls) บนบรรทัดใหม่หลังคำสั่ง change directory (cd)
cd bin ls
เรียกใช้คำสั่ง cURL (Run cURL command)
คุณยังสามารถใช้ HTTP Request node เพื่อสร้างคำขอ cURL
หากคุณต้องการรันคำสั่ง curl ใน node Execute Command คุณจะต้องสร้างอิมเมจ Docker ตามอิมเมจ n8n ที่มีอยู่ อิมเมจ n8n Docker เริ่มต้นใช้ Alpine Linux
apk ไม่รวมอยู่ในอิมเมจ n8n
ที่ apk ตัวจัดการแพ็คเกจถูกลบออกจากอิมเมจ n8n Docker อย่างเป็นทางการ หากต้องการติดตั้งแพ็คเกจเช่น curl คุณต้องกู้คืน apk จากภาพฐานอัลไพน์สดก่อน ดังที่แสดงด้านล่าง
- สร้างไฟล์ชื่อ
Dockerfile. - เพิ่มข้อมูลโค้ดด้านล่างลงใน Dockerfile
FROM n8nio/n8n
USER root
# Restore the apk package manager (removed from the base image)
COPY --from=alpine:3.22 /sbin/apk /sbin/apk
COPY --from=alpine:3.22 /lib/apk /lib/apk
COPY --from=alpine:3.22 /usr/lib/libapk* /usr/lib/
RUN apk add --no-cache curl
USER node
- ในโฟลเดอร์เดียวกัน ให้รันคำสั่งด้านล่างเพื่อสร้างอิมเมจ Docker
docker build -t n8n-curl .
- แทนที่อิมเมจ Docker ที่คุณใช้ก่อนหน้านี้ ตัวอย่างเช่นแทนที่
n8nio/n8nด้วยn8n-curl. - เรียกใช้อิมเมจ Docker ที่สร้างขึ้นใหม่ ตอนนี้คุณสามารถดำเนินการขดโดยใช้ Execute Command Node
เทมเพลตและตัวอย่าง
เรียกดูเทมเพลตการรวม n8n-nodes-base.executecommand หรือ ค้นหาเทมเพลตทั้งหมด
ปัญหาทั่วไป
สำหรับคำถามหรือปัญหาทั่วไปและวิธีแก้ปัญหาที่แนะนำ โปรดดูที่ Common issues.

