我有一个调用相当多的外部命令(一个相当长的bash脚本git clone,wget,apt-get打印很多东西到标准输出等).
我希望脚本有一些详细的选项,所以它打印来自外部命令的所有内容,它的摘要版本(例如"安装依赖项......","编译......"等)或根本没有.但是如何在不弄乱我的所有代码的情况下做到这一点?
我已经考虑过可能的解决方案:一个是创建一个包装函数来运行外部命令并打印标准输出所需的内容,具体取决于开始时设置的选项.这些似乎更容易实现,但这意味着为代码添加了许多额外的混乱.
另一种解决方案是将所有输出发送到几个外部文件,并在解析脚本开头的参数时tail -f,如果指定了详细程度,则在该文件上运行.这将很容易实现,但对我来说似乎非常hacky,我担心它的性能影响.
哪一个更好?我也对其他解决方案持开放态度.