/dev/tty2 echo "Hello-6ren">
gpt4 book ai didi

Bash 将输出重定向到 tty 和文件

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

我正在尝试记录脚本执行的某些部分。日志应在第二个 tty 显示,并写入日志文件。

我可以用一个简单的方法来做到这一点:

echo "Hello log" > /dev/tty2
echo "Hello log" > /var/log/my_logs

但是很不舒服。我还可以将 echo 重定向到特定位置:

exec 1<>/var/log/my_logs
exec 2>&1

但是我怎样才能同时将 STDOUT 重定向到/dev/tty2 和/var/log/my_logs?

最佳答案

使用tee

echo "Hello log" | tee /dev/tty2 /var/log/my_logs > /dev/null

(最后的重定向也是为了防止输出出现在标准输出中。您也可以使用 echo "Hello log"| tee/dev/tty2 >/var/log/my_logs;两者之间没有真正的区别。tee 只是将标准输入写入标准输出和一个或多个命名文件。)

要将所有标准输出重定向到该对,请使用带有 exec 的进程替换。

exec > >(tee /dev/tty2 /var/log/my_logs)

关于Bash 将输出重定向到 tty 和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645946/

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