如何将输出发送到日志文件和控制台?

如何将输出发送到日志文件和控制台?

关于输出,我曾经将其放在所有脚本之上。 docker 的停止和启动按预期工作,日志文件包含应有的内容,但控制台也没有输出。我在这里错过了什么?

#!/bin/sh
LOGFILE="/mnt/user/HardHomeSystemData/SysLogs/PlexClear.log"
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>$LOGFILE 2>&1

#clear plexes codecs for EAC3 issues, stop the docker, rm codecs, restart docker
docker stop plex
rm -r /mnt/user/appdata/plex/Library/Application\ Support/Plex\ Media\ Server/Codecs/*
docker start plex

答案1

我不确定如何做到这一点,sh但在 bash 中你可以这样做流程替代tee哪个应该做你想要的

#!/usr/bin/env bash

logfile=logfile.txt

exec 3>&1 4>&2

trap 'exec 2>&4 1>&3' 0 1 2 3

exec > >(tee -a "$logfile") 2>&1  ##: Print to stdout and logfile.

相关内容