想象一下,一个命令通常需要不到一秒钟就能完成,在这种情况下,您不想被详细的输出所困扰,但有时它需要更长的时间,在这种情况下,您希望打印一些可视状态。
例如,我经常做的一件事是docker build
结合docker run
:
docker build -t foo ... # usually terminates in < 1s, but sometimes takes minutes
docker run ... foo ...
其他示例可能涉及cp
或任何其他命令,其输出只有在运行超过几秒钟时才有趣。
如果您对详细输出根本不感兴趣,那么您可以做的就是将其通过管道传输到/dev/null
,更复杂的方法是记录输出并仅在出现问题时才打印它。
但是,是否有内置的 bash 方式来表示:运行命令 XY 并仅在出现错误时或命令运行超过$TIMEOUT
几秒时显示输出?
喜欢
paranoid-quieten 2 docker build -t foo ...
或者可能
docker build -t foo ... | paranoid-quieten 2
我知道如何用这个编写一个 Python 脚本(虽然有点棘手)但是你该怎么做呢?