You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用bash time命令存格式化实测时间到文件的更短实现方式及tee用法

更短的实现方式

你现在的写法本身就已经很精简了,只能做小幅的字符压缩,核心逻辑不用改:

TIMEFORMAT='%4R' { time <script> 2><script>.stderr; } 2>>time.txt

原来把TIMEFORMAT写在大括号里是完全没问题的,移到命令前缀可以省掉大括号里的几个字符,再去掉多余的空格就是更短的版本。
如果你的场景不需要保留脚本的标准错误输出,还可以更短:

TIMEFORMAT='%4R' time <script> 2>&- 2>>time.txt

用tee实现的方案

可以用tee完成需求,尤其是你需要把时间同时输出到终端、或者存到多个文件的时候很合适,示例写法:

{ TIMEFORMAT='%4R' time <script> 2><script>.stderr; } 2>&1 | tee -a time.txt

这个写法会把测得的real时间同时追加到time.txt里,也打印到终端标准输出。
要是你还需要把脚本的标准错误同时打印到终端和存到<script>.stderr,可以调整重定向逻辑:

TIMEFORMAT='%4R' time <script> 2> >(tee <script>.stderr | tail -n 1 >> time.txt)

因为设置TIMEFORMAT='%4R'后,time命令只会输出一行时间值,而且是标准错误流的最后一行,用tail抓最后一行就能单独把时间存到目标文件里。

内容的提问来源于stack exchange,提问作者Avah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:30:05