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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |