将多个stdout命令重定向到一个文件

时间:2014-07-19 13:23:28

标签: bash redirect file-io stdout

我正在寻找一种将所有输出重定向到文件的方法。

时我感到很惊讶
date && sensors -A -f | awk '{print $2}' &&  awk '{print $1;}' /proc/loadavg >> ~/bunny

仅将最后一个语句输出保存到文件bunny。有什么我可以做的,以保持整洁?像括号或什么?或者我必须做什么?:

date >> ~/bunny && sensors -A -f | awk '{print $2}' >> ~/bunny  &&  awk '{print $1;}' /proc/loadavg >> ~/bunny

1 个答案:

答案 0 :(得分:3)

当您使用&&时,您正在组合单独的命令,每个命令都可以有自己的重定向。如果要将重定向应用于一系列命令,可以使用大括号对它们进行分组。

{ date && sensors -A -f | awk '{print $2}' &&  awk '{print $1;}' /proc/loadavg; } >> ~/bunny

{
    date
    sensors -A -f | awk '{print $2}'
    awk '{print $1;}' /proc/loadavg
} >> ~/bunny