我写了以下bash函数:
function log {
echo "[$(date -u +'%Y-%m-%dT%H:%M:%S.000')]: $*" | tee -ai $logfile
}
强制命令的输出将打印到控制台和日志中。
修改 这就是我在脚本中使用该函数的方法:
log ls -l
实际上,日志包含命令而不是它们的输出,而我希望输出同时到控制台和日志,同时只将日期和时间添加到日志中命令本身的行。
怎么做?
答案 0 :(得分:2)
我希望输出在添加时同时进入控制台和日志 日期和时间仅限于日志
中命令本身的行
我想你要求执行一些执行和记录命令的功能。它看起来像这样:
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