Bash
如何將輸出發送到日誌文件和控制台?
關於輸出,我曾經把它放在我所有的腳本之上。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
我不知道怎麼做,
sh
但是在 bash 中你可以用Process Substitution來做,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.
- 另請參閱記錄