TOP命令与printf结合

TOP命令与printf结合

我有一个简单的 while true 声明:

#!/bin/bash
while true; do
    printf -- '-%.0s' {1..100}; echo "" | top -l 1 >> file.txt
    sleep 10
done

我面临的问题是该printf语句仅输出到控制台而不是文件内。

我的命令的预期结果是将 top 命令输出到一个文件,每个新顶部之间带有 --- 分隔符。就像这样:

----------------
top output
---------------
top output
etc...

我也尝试过:

#!/bin/bash
while true; do
    (
    printf -- '-%.0s' {1..100}; echo ""
    top -l 1
    ) >> file.txt
    sleep 10
done

答案1

#!/bin/bash
while true; do
    printf -- '-%.0s' {1..100} >> file.txt 
    echo "" >> file.txt
    top -l 1 >> file.txt
    sleep 10
done

相关内容