GNU/Linux >> Linux Esercitazione >  >> Linux

Script Bash che mostra la modifica dei valori in tempo reale dai comandi

Puoi usare tput cup 0 0 per portare il cursore in alto a sinistra dello schermo. clear una volta.

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

Potrebbe essere complicato implementare una soluzione in tempo reale in bash.

Ci sono molti modi per eseguire lo script una volta ogni X secondi puoi usare watch .Presumo che tu abbia già myScript.sh a disposizione. Sostituisci X con il numero di secondi di cui hai bisogno.

  1. watch -n X ./myScript.sh

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

    aggiorna. per emulare l'orologio potresti voler cancellare lo schermo tra le iterazioni. all'interno dello script avrà questo aspetto:

    while sleep X; do 
       clear; 
       command1;
       command2;
    done
    
  3. aggiungi una delle opzioni sopra allo script stesso.


Presumo che lo sfarfallio sia dovuto al fatto che i tuoi comandi impiegano un momento per restituire i loro valori. Questa è la mia solita soluzione alternativa:

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'idea è quella di pulire lo schermo all'ultimo momento possibile.


Linux
  1. Quattro compiti in parallelo... Come farlo?

  2. Opzione Rsync sconosciuta dall'esecuzione dello script Bash?

  3. Ottieni il percorso completo da Bash Script?

  4. Come sapere se sono in una sessione Tmux da uno script Bash?

  5. Pipe da/verso gli appunti nello script Bash

Script Bash per rimuovere il file più vecchio da una cartella?

Convogliare un elenco di valori in uno script Bash?

Bash + Come uscire dallo script secondario e dallo script principale in entrambi i casi?

Esegue lo script bash dall'URL

Script bash per calcolare il tempo trascorso

bash + leggi variabili e valori dal file tramite lo script bash