Anda dapat menggunakan tput cup 0 0
untuk mengarahkan kursor ke kiri atas layar. clear
sekali.
#!/bin/bash
clear
while sleep 1; do
tput cup 0 0
printf "%21s %6d \n" \
"Célula calibrada: " $(npe ?AI1) \
"Anemómetro: " $(npe ?AI2) \
"Célula temperatura: " $(npe ?AI3) \
"Célula temperatura: " $(npe ?AI4)
done
Mungkin sulit untuk mengimplementasikan solusi waktu nyata di bash.
Ada banyak cara untuk menjalankan skrip sekali dalam X detik Anda dapat menggunakan watch
.Saya menganggap Anda sudah memiliki myScript.sh
tersedia. Ganti X dengan jumlah detik yang Anda butuhkan.
-
watch -n X ./myScript.sh
-
while sleep X; do ./myScript.sh; done
upd. untuk meniru jam tangan, Anda mungkin ingin menghapus layar di antara iterasi. di dalam skrip akan terlihat seperti ini:
while sleep X; do clear; command1; command2; done
-
tambahkan salah satu opsi di atas ke skrip itu sendiri.
Saya berasumsi bahwa kedipan itu karena perintah Anda memerlukan waktu beberapa saat untuk mengembalikan nilainya. Ini adalah solusi saya yang biasa:
cmds(){
echo "Célula calibrada: " $(npe ?AI1);
echo "Anemómetro: " $(npe ?AI2);
echo "Célula temperatura: " $(npe ?AI3);
echo "Célula temperatura: " $(npe ?AI4);
}
while true; do
out="$(cmds)"
clear
echo "$out"
sleep 1
done
Idenya adalah kita mengosongkan layar pada saat-saat terakhir yang memungkinkan.