出力をログファイルとコンソールに送信するには?

出力をログファイルとコンソールに送信するには?

出力に関してはすべてのスクリプトの上に置いた。 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

どうすればいいかわかりませんが、shbashではこれを行うことができますプロセスの交換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.
  • また、見ることができます記録

関連情報