我正在尝试整理以下片段,设计目标是记录脚本的所有输出,而不应该是包装器。线越少越好。
我不关心用户输入(在这个阶段),目标脚本以非交互方式运行。
片段需要
目前,我有以下内容仅在最新版本的 bash (4.2+?) 下测试,如 Ubuntu 精确,但在 CentOS6 上行为不端。
DEBUG_LOG="${0##*/}.log"
# copy stdout to log always and echo to console
exec > >(tee -a ${DEBUG_LOG})
# copy stderr to log only, unless debugging is enabled
[ $DEBUG_TEST = "true" ] \
&& exec 2> >(tee -a ${DEBUG_LOG} >&2) \
|| exec 2>> ${DEBUG_LOG}
Run Code Online (Sandbox Code Playgroud)
那么这...
# Expand escaped characters, wrap at 70 chars on spaces,
# and indent wrapped lines
msg_log() {
echo …Run Code Online (Sandbox Code Playgroud)