如何在多行中格式化 linux mpstat 输出
How to format linux mpstat output in multiple lines
我有一个小脚本,我将 linux mpstat 的输出附加到日志文件。
#/bin/bash
CPU_USAGE=$(mpstat)
echo $CPU_USAGE >> temp.log
问题是终端上 mpstat 的输出格式正确地分为 3 行,如下所示
但是,文件的输出全部在一行中。
如何像终端上那样格式化输出?
只引用变量,这样就不会被看作是一个接一个打印的几个不同的参数:
echo "$CPU_USAGE" >> temp.log
您可以直接将输出通过管道传输到文件:
#!/bin/bash
mpstat >> temp.log
如果你必须把它存储在一个变量中,那么像这样引用它:
#!/bin/bash
CPU_USAGE=$(mpstat)
echo "$CPU_USAGE" >> temp.log
否则,bash 不会将换行符解释为要回显的消息的一部分,而是将整个输出解释为要输出的短字符串列表。
我有一个小脚本,我将 linux mpstat 的输出附加到日志文件。
#/bin/bash
CPU_USAGE=$(mpstat)
echo $CPU_USAGE >> temp.log
问题是终端上 mpstat 的输出格式正确地分为 3 行,如下所示
但是,文件的输出全部在一行中。
如何像终端上那样格式化输出?
只引用变量,这样就不会被看作是一个接一个打印的几个不同的参数:
echo "$CPU_USAGE" >> temp.log
您可以直接将输出通过管道传输到文件:
#!/bin/bash
mpstat >> temp.log
如果你必须把它存储在一个变量中,那么像这样引用它:
#!/bin/bash
CPU_USAGE=$(mpstat)
echo "$CPU_USAGE" >> temp.log
否则,bash 不会将换行符解释为要回显的消息的一部分,而是将整个输出解释为要输出的短字符串列表。