我编写了以下bash函数:
function log { echo "[$(date -u +'%Y-%m-%dT%H:%M:%S.000')]: $*" | tee -ai $logfile }
意图将命令的输出打印到控制台和日志。
编辑: 以下是我在脚本中使用函数的方式:
log ls -l
实际上,日志包含命令,而不是它们的输出,而我希望输出同时转到控制台和日志,同时只将日期和时间添加到日志中命令本身的行中。
如何做到这一点?
我希望在添加时将输出同时发送到控制台和日志 日期和时间仅限于日志中命令本身的行
我想您需要一些执行和记录命令的函数。可能是这样的:
function executeAndLog { echo "[$(date -u +'%Y-%m-%dT%H:%M:%S.000')]: $@" | tee -ai logfile.txt "$@" | tee -ai logfile.txt } executeAndLog ls logfile.txt
将其输出到日志和控制台
[2017-12-13T10:38:40.000]: ls logfile.txt logfile.txt