GNU/Linux >> Tutoriels Linux >  >> Linux

Script bash qui montre la modification des valeurs en temps réel à partir des commandes

Vous pouvez utiliser tput cup 0 0 pour envoyer le curseur en haut à gauche de l'écran. clear une fois.

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

Il peut être difficile d'implémenter une solution en temps réel dans bash.

Il existe de nombreuses façons d'exécuter un script une fois toutes les X secondes, vous pouvez utiliser watch .Je suppose que vous avez déjà myScript.sh disponible. Remplacez X par le nombre de secondes dont vous avez besoin.

  1. watch -n X ./myScript.sh

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

    mise à jour pour émuler la montre, vous voudrez peut-être effacer l'écran entre les itérations. à l'intérieur du script, il ressemblera à ceci :

    while sleep X; do 
       clear; 
       command1;
       command2;
    done
    
  3. ajoutez l'une des options ci-dessus au script lui-même.


Je suppose que le scintillement est dû au fait que vos commandes mettent un moment à renvoyer leurs valeurs. Voici ma solution de contournement habituelle :

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

L'idée étant de vider l'écran au dernier moment possible.


Linux
  1. Empêcher un script bash de s'exécuter simultanément

  2. Modification du mot de passe du système Linux dans le script bash

  3. Comment exécuter une commande Linux bash dans un script PERL ?

  4. Script Bash pour supprimer le fichier le plus ancien d'un dossier ?

  5. Obtenir le chemin complet depuis le script Bash ?

Pipe vers/depuis le presse-papiers dans le script Bash

Variable dans Bash Script qui conserve sa valeur depuis la dernière exécution

Comment puis-je obtenir des valeurs uniques à partir d'un tableau dans Bash ?

Appelez le script Python à partir de bash avec un argument

Script bash pour calculer le temps écoulé

Script bash pour supprimer le fichier le plus ancien d'un dossier