gpt4 book ai didi

linux - Bash 将所有标准输出都输出到控制台和文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:26 26 4
gpt4 key购买 nike

我正在尝试将所有 stdoutstderr 输出到控制台和文件。我知道 ./script | tee somefile ,但这对我不起作用。我希望它自动执行,而无需我从控制台通过管道传输它。我试过了

#!/bin/sh
exec 2>&1 | tee somefile
echo "..."

但这没有用。什么是正确的解决方案?

最佳答案

经典的解决方案是在脚本的顶部添加类似这样的内容:

test -z "$REXECED" && { REXECED=1 exec $0 "$@" 2>&1 |  tee -a somefile; exit; }

您可能还喜欢:

test -t 1 && {  exec $0 "$@" 2>&1 |  tee -a somefile; exit; }

关于linux - Bash 将所有标准输出都输出到控制台和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com