我知道是否要将命令和“时间”的输出都重定向到文件,我可以这样做:
(time python myscript.py) &> log.txt
这个的
tee
版本是什么,因此所有内容也会在终端中显示?另一个问题是如何将标准错误从命令python myscript.py
重定向到log.txt
最佳答案
这是使用流程替换(在Bash中)的另一个选项:
{ time python myscript.py; } &> >(tee log.txt)
我看到两个好处:语法更接近您的原始命令(因此,可以说,它更容易记住):只需用进程替换替换文件即可。另一个好处是,与管道情况不同,命令退出后,命令的返回码将在变量
$?
中可用。请注意,您没有在子shell
(...)
中运行命令,将命令与{...}
分组就足够了(注意大括号和尾部分号周围的空格)。此
tee
的stdout,stderr和time
的输出。关于linux - Linux : time a command, redirect both stout and sterr to log file and show it in terminal,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28329036/