私は単純だが本当の文を持っています:
#!/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
答え1
#!/bin/bash
while true; do
printf -- '-%.0s' {1..100} >> file.txt
echo "" >> file.txt
top -l 1 >> file.txt
sleep 10
done