gpt4 book ai didi

bash - 如何通过进程重定向脚本的输出?

转载 作者:行者123 更新时间:2023-11-29 09:10:46 25 4
gpt4 key购买 nike

我想通过日志程序重定向 bash 脚本的输出。具体来说,Apache 的 logrotate 实用程序。重定向需要在脚本本身中设置。

如果重定向是在命令行上完成的,那么在执行脚本时,它将如下所示:

myscript | logrotate -l $LOGFILE.%F 86400 2>&1

下面是脚本中的一些伪代码,用于完成输出重定向,但它不起作用:

exec >(logrotate -l $LOGFILE.log.%F 86400) 2>&1

最佳答案

您可以使用命名管道来做到这一点。

PIPE=/var/run/myscript/pipe
mkfifo "$PIPE"
logrotate -l "$LOGFILE.%F" 86400 < "$PIPE" &
exec > "$PIPE"

此外,关于您的 2>&1 重定向——确保您了解它的应用。在您的第一个示例中,它应用于 logrotate,而在第二个“示例”中,它将应用于您的脚本。

关于bash - 如何通过进程重定向脚本的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886534/

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