我想指定时间格式,但行为不同:
$ time echo hehe | sleep 1
real 0m1.03s
user 0m0.00s
sys 0m0.00s
$ time -p echo hehe | sleep 1
real 0.00
user 0.00
sys 0.00
因此,如果我提供任何时间切换,它的行为会有所不同:
如何指定-p并从第一次运行中获取结果?
答案 0 :(得分:2)
你不能。在ksh中,time
可以为管道计时,而time -p
只能在第一阶段计时。
time
未定义。 ksh
的实现选择为整个管道计时。 time
不支持-p
或任何其他标记,如果使用任何标记调用,则会委托给外部time
。time
(例如/usr/bin/time
)只能在管道的第一阶段运行(因为管道是shell构造,需要shell协作)。切换到允许此操作的shell(如bash),或重写为外部time
可以使用的内容,例如内部运行管道的sh -c
的单个阶段:< / p>
time -p sh -c 'echo hehe | sleep 1'