我运行了该命令,time echo "Hello world" | tee output.txt希望获得终端stdout和output.txt文件的完整输出。但是,文件内容不是我所期望的:
预期文件内容:
你好世界
真实 0m0.000s
用户 0m0.000s
系统 0m0.000s
实际内容:
你好世界”
有人可以帮忙吗?
小智 9
在 bash 中,是一个适用于整个管道的time关键字。因此,time echo "Hello world" | tee output.txt是对整个命令进行计时echo "Hello world" | tee output.txt,而不仅仅是echo命令。此外,它将时间统计信息写入 stderr。所以我们需要:
time适用于我们关心的命令或管道部分。所以,其中之一:
(time echo "Hello world") 2>&1 | tee output.txt
{ time echo "Hello world"; } 2>&1 | tee output.txt
Run Code Online (Sandbox Code Playgroud)
这里:
tee.我们还可以使用|&以下快捷方式2>&1 |:
(time echo "Hello world") |& tee output.txt
Run Code Online (Sandbox Code Playgroud)