Linux

TOP 命令結合 printf

  • September 3, 2021

我有一個簡單而真實的陳述:

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

我面臨的問題是該printf語句僅輸出到控制台而不是文件中。

我的命令的預期結果是將頂部命令輸出到一個文件,每個新頂部之間都有一個 — 分隔符。像這樣:

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

我也試過:

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

引用自:https://unix.stackexchange.com/questions/667506