gpt4 book ai didi

linux - 如何在日志中发送错误,在 shell 脚本中添加日期?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:19 26 4
gpt4 key购买 nike

我希望在我的 shell 脚本中执行的命令的所有错误都写在一个日志文件中,这很容易执行

exec 2>> /var/log/mylog.txt

但是如果我想在每一行中添加错误前的日期怎么办?

最佳答案

如果您正在使用 bash,您可以访问可能用于此目的的协同处理:

#!/bin/bash

# The co-process responsible to add the date
coproc myproc {
( bash -c 'while read line; do echo $(date): ${line}; done' 3>&1 1>&2- 2>&3- )
}

# Redirect stderr to the co-process
exec 2>&${myproc[1]}

# Here my script -- classical; no (visible) redirection
ls non-existant-file1 existant-file non-existant-file2

将上面的内容保存为t.sh:

sh$ touch existant-file
sh$ ./t.sh 2> error.log
existant-file
sh$ cat error.log
Tue Jul 15 00:15:29 CEST 2014: ls: cannot access non-existant-file1: No such file or directory
Tue Jul 15 00:15:29 CEST 2014: ls: cannot access non-existant-file2: No such file or directory

关于linux - 如何在日志中发送错误,在 shell 脚本中添加日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com