将脚本输出重定向到控制台和日志

yae*_*ael 2 linux logs io-redirection shell-script tee

看看以下内容

# more  /tmp/myscript
#!/bin/bash


echo I AM
echo BIG GUY
echo AND ALSO SMART

# bash   /tmp/myscript | tee -a >/tmp/log
Run Code Online (Sandbox Code Playgroud)

为什么我们没有从脚本中的 echo 输出到控制台?

实际输出重定向到日志 - /tmp/log 但不重定向到标准输出

这很奇怪,因为 tee -a 应该重定向顶部日志并支持艺术输出

写入日志和打印到控制台的正确方法是什么?

预期产出

# bash   /tmp/myscript | tee -a >/tmp/log

     I AM
     BIG GUY
     AND ALSO SMART
Run Code Online (Sandbox Code Playgroud)

小智 5

那是因为您使用了 output 的重定向>tee应该做重定向,而不是外壳。尝试没有>

bash /tmp/myscript | tee -a /tmp/log
Run Code Online (Sandbox Code Playgroud)