ฉันมีโปรแกรมยูนิกซ์กล่องดำที่ใช้ใน Bash shell ที่อ่านคอลัมน์ข้อมูลจาก stdin ประมวลผลพวกมัน (ใช้เอฟเฟกต์การปรับให้เรียบ) จากนั้นก็ส่งออกไปยัง stdout ฉันใช้มันโดย UNIX ไพพ์เช่น
generate | smooth | plot
สำหรับการปรับให้เรียบมากขึ้นฉันสามารถทำซ้ำแบบราบรื่นได้ดังนั้นจึงสามารถเรียกใช้จากบรรทัดคำสั่ง Bash เป็น
generate | smooth | smooth | plot
หรือแม้กระทั่ง
generate | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | plot
นี่เป็นการไร้ค่า ฉันต้องการสร้าง Bash wrapper เพื่อให้สามารถไปป์ไลน์smooth
และป้อนผลลัพธ์ของมันกลับไปสู่อินสแตนซ์ใหม่ของsmooth
จำนวนครั้งโดยพลการสิ่งที่ชอบ
generate | newsmooth 5 | plot
แทน
generate | smooth | smooth | smooth | smooth | smooth | plot
ความพยายามครั้งแรกของฉันคือสคริปต์ Bash ที่สร้างไฟล์ชั่วคราวในไดเรกทอรีปัจจุบันและลบออก แต่สิ่งที่น่าเกลียดก็คือเมื่อฉันไม่ได้อยู่ในไดเรกทอรีที่มีการเข้าถึงการเขียนและยังทิ้งไฟล์ขยะเมื่อถูกขัดจังหวะ
ไม่มีข้อโต้แย้งในsmooth
โปรแกรม
มีวิธีที่สง่างามกว่าในการ "ห่อ" โปรแกรมดังกล่าวเพื่อกำหนดจำนวนการโทรหรือไม่?