我有一个简单的 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