poniedziałek, 18 sierpnia 2014

Skrypt diagnostyczny - kontrola_syntezerow

Ponownie prosty skrypt bashowy. Tym razem jest to skrypt diagnostyczny, który uruchamia komendy zwracające jakieś informacje w stringu, a następnie interpretuje je pod względem poprawności, porównując ze stringiem odpowiedniej wartości. Przykład użycia kolorów w terminalu.
Napisany na potrzeby kontrolerów radioteleskopu RT4.

Kod:

#!/bin/bash
# -*- coding: utf-8 -*-
# Rafał Sarniak 2014.08.19
# kontrola_syntezerow.sh ver. 1.0
# Prosty skrypt sprawdzajacy stan syntezerów

MIN=10                   # czas opóźnienia w minutach - tu można zmieniać
OPOZNIENIE=$[$MIN*60]    # czas opóźnienia w sekundach
esc="\033["
zielony=32               # kod zielonej czcionki
czerwony=31              # kod czerwonej czcionki
tlo=4                    # kod neutralnego tła



for ((;;));              # nieskończona pętla
do

  # zrzucenie wyników zapytania do zmiennych 
  LOSCSTA=$(lo sc sta)
  LOSCREF=$(lo sc ref)
  LOSLSTA=$(lo sl sta)
  LOSLREF=$(lo sl ref)

  clear
  echo -e "${esc}36;40;1m Kontrola pracy syntezerów co $MIN minut: ${esc}0m"
  date

  # sprawdzenie poprawności i wyświetlenie komunikatów
  if [ "$LOSCSTA" == "sc: +0" ]; then                   # składnia kolorowania:
    WYNIK="${esc}${zielony};${tlo};1m OK! ${esc}0m"     # "\033[czcionka;tło;pogrubienie m  \033[0m" 
  else
    WYNIK="${esc}${czerwony};${tlo};1m BŁĄD! ${esc}0m"
  fi
  echo -e "$LOSCSTA   $WYNIK" 

  if [ "$LOSCREF" == "sc: EXT" ]; then
    WYNIK="${esc}${zielony};${tlo};1m OK! ${esc}0m"
  else
    WYNIK="${esc}${czerwony};${tlo};1m BŁĄD! ${esc}0m"
  fi
  echo -e "$LOSCREF  $WYNIK"

  if [ "$LOSLSTA" == "sl: +0" ]; then
    WYNIK="${esc}${zielony};${tlo};1m OK! ${esc}0m"
  else
    WYNIK="${esc}${czerwony};${tlo};1m BŁĄD! ${esc}0m"
  fi
  echo -e "$LOSLSTA   $WYNIK"

  if [ "$LOSLREF" == "sl: EXT" ]; then
    WYNIK="${esc}${zielony};${tlo};1m OK! ${esc}0m"
  else
    WYNIK="${esc}${czerwony};${tlo};1m BŁĄD! ${esc}0m"
  fi
  echo -e "$LOSLREF  $WYNIK"

  sleep $OPOZNIENIE
done

Brak komentarzy:

Prześlij komentarz