Tôi có một chương trình UNIX hộp đen được sử dụng trong trình bao Bash đọc các cột dữ liệu từ stdin, xử lý chúng (áp dụng hiệu ứng làm mịn) sau đó xuất ra thiết bị xuất chuẩn. Tôi sử dụng nó bằng các ống UNIX, như
generate | smooth | plot
Để làm mịn hơn, tôi có thể lặp lại độ mịn, do đó, nó sẽ được gọi từ dòng lệnh Bash như
generate | smooth | smooth | plot
hoặc thậm chí
generate | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | plot
Điều này đang trở nên khó chịu. Tôi muốn tạo một trình bao bọc Bash để có thể kết nối smooth
và đưa đầu ra của nó trở lại vào một thể hiện mới của smooth
một số lần tùy ý, đại loại như
generate | newsmooth 5 | plot
thay vì
generate | smooth | smooth | smooth | smooth | smooth | plot
Nỗ lực đầu tiên của tôi là một tập lệnh Bash tạo các tệp tạm thời trong thư mục hiện tại và xóa chúng, nhưng nó trở nên xấu khi tôi không ở trong một thư mục có quyền truy cập ghi và cũng để lại các tệp rác khi bị gián đoạn.
Không có đối số cho smooth
chương trình.
Có cách nào thanh lịch hơn để "bọc" một chương trình như vậy để tham số hóa số lượng cuộc gọi không?