加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash将输出重定向到tty和file

发布时间:2020-12-15 22:02:49 所属栏目:安全 来源:网络整理
导读:我正在尝试记录脚本执行的某些部分.日志应显示在第二个tty,并写入日志文件. 我可以用一个简单的方法做到: echo "Hello log" /dev/tty2echo "Hello log" /var/log/my_logs 但它非常不舒服.我还可以将echo重定向到特定的地方: exec 1/var/log/my_logsexec 21
我正在尝试记录脚本执行的某些部分.日志应显示在第二个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?

解决方法

使用发球台.

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读