GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bash-Skript, das sich ändernde Echtzeitwerte von Befehlen anzeigt

Sie können tput cup 0 0 verwenden um den Cursor oben links auf dem Bildschirm zu platzieren. clear einmal.

#!/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

Es könnte schwierig sein, eine Echtzeitlösung in Bash zu implementieren.

Es gibt viele Möglichkeiten, ein Skript einmal in X Sekunden auszuführen, Sie können watch verwenden .Ich nehme an, Sie haben bereits myScript.sh verfügbar. Ersetzen Sie X durch die Anzahl der Sekunden, die Sie benötigen.

  1. watch -n X ./myScript.sh

  2. while sleep X; do ./myScript.sh; done

    aktualisiert. Um die Uhr zu emulieren, möchten Sie möglicherweise den Bildschirm zwischen den Iterationen löschen. innerhalb des Skripts sieht es so aus:

    while sleep X; do 
       clear; 
       command1;
       command2;
    done
    
  3. fügen Sie dem Skript selbst eine der obigen Optionen hinzu.


Ich gehe davon aus, dass das Flackern darauf zurückzuführen ist, dass Ihre Befehle einen Moment brauchen, um ihre Werte zurückzugeben. Dies ist meine übliche Problemumgehung:

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

Die Idee ist, dass wir den Bildschirm im letztmöglichen Moment löschen.


Linux
  1. Führen Sie das Bash-Skript von der URL aus

  2. Variable in Bash-Skript, die ihren Wert von der letzten Ausführung beibehält

  3. Wie kann ich eindeutige Werte aus einem Array in Bash erhalten?

  4. Bash-Skript zum Entfernen der ältesten Datei aus einem Ordner

  5. bash + liest Variablen und Werte aus der Datei per Bash-Skript

Eine Werteliste an ein Bash-Skript weiterleiten?

Bash + So beenden Sie beide Male das sekundäre Skript und das Hauptskript

In Bash-Skript zur/von der Zwischenablage leiten

Rufen Sie das Python-Skript von bash mit Argument auf

Bash-Skript zur Berechnung der verstrichenen Zeit

Unterschied zwischen Befehlen im Bash-Skript und Befehlen im Terminal