我在Bash shell中使用了一个黑匣子UNIX程序,该程序从stdin读取数据列,对其进行处理(应用平滑效果),然后输出到stdout。我通过UNIX管道使用它,例如
generate | smooth | plot
为了更加平滑,我可以重复进行平滑操作,因此可以从Bash命令行中调用它,如下所示:
generate | smooth | smooth | plot
甚至
generate | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | smooth | plot
这变得越来越古怪。我想制作一个Bash包装器,使其能够通过管道传递smooth
并将其输出直接反馈到smooth
任意次数的新实例中,例如
generate | newsmooth 5 | plot
代替
generate | smooth | smooth | smooth | smooth | smooth | plot
我的第一次尝试是一个Bash脚本,该脚本在当前目录中生成了临时文件并删除了它们,但是当我不在具有写访问权限的目录中时,它变得很丑陋,并且在被中断时还留下了垃圾文件。
该smooth
程序没有参数。
有没有更优雅的方式来“包装”这样的程序来参数化调用次数?