在函数上运行的time命令不会让函数打印出来

时间:2016-05-09 06:45:53

标签: unix time solaris ksh

我的代码有问题。它没有打印出错误,它可以工作,但它并没有做我真正需要它做的事情。我不会发布所有代码,因为它不需要,我会发布我们需要的行。

所以我有这行代码:

TIME1=$( { time awkfun ; } 2>&1 >/dev/null);

其中awkfun是一个应该打印500个整数的函数,TIME1是一个变量来存储函数运行和打印所需的时间。问题是通常我说这个函数会在这个场合打印大约500个整数,虽然我使用它,它只是运行并进行计算但不打印。所以它实际上运行awkfun函数但不打印,在此函数的输出时间我还需要打印所有内容所需的时间。

怎么做?

我希望我尽可能地解释它,如果出现任何问题,请不要犹豫评论,提前谢谢!

P.S

在oracle solaris的ksh中运行。

1 个答案:

答案 0 :(得分:1)

这是正确的顺序。根据需要进行调整:

TIME1=`time (awkfun > /dev/tty) 2>&1`