Advertisement
Guest User

Media Temperatura

a guest
Aug 6th, 2013
613
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.33 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Made by Naftaism
  4.  
  5. if [ -e med.txt ];
  6. then
  7.     rm -f med.txt
  8. fi
  9.  
  10. if [ -e med-sorted.txt ];
  11. then
  12.     rm -f med-sorted.txt
  13. fi
  14.  
  15. clear
  16.  
  17. inp1=$1
  18. inp2=$2
  19.  
  20. if [ -z $1 ]; then
  21.     echo ""
  22.     echo "Calcolo della temperatura media by Nafta."
  23.     echo ""
  24.     echo "Utilizzo: ./media.sh N1 N2"
  25.     echo "N1: numero letture da effettuareĆ¹."
  26.     echo "N2: pausa in secondi tra una lettura e l'altra. Vale 1 se non specificato."
  27.     echo ""
  28.     exit
  29. fi
  30.  
  31. if [ -z $2 ]; then
  32.     inp2=1
  33. fi
  34.  
  35. echo ""
  36. echo "Verranno effettuate $inp1 letture ad intervalli di $inp2 secondi."
  37. echo ""
  38. startN=1
  39.  
  40. while [ $startN -le $inp1 ];
  41. do
  42.     temp_medie=$(/opt/vc/bin/vcgencmd measure_temp | tr -d [a-z,A,Z,"="][])
  43.     echo $temp_medie >> med.txt
  44.     echo "Lettura $startN di $inp1: $temp_medie."
  45.     let startN=$startN+1
  46.     sleep $inp2
  47. done
  48.  
  49. cat med.txt | sort --uniq > med-sorted.txt &&
  50.  
  51. leggi_valori=$(cat med.txt | tr -d [a-z,A-Z,"'","."][])
  52. valore_iniziale=0
  53.  
  54. for riga in $leggi_valori; do
  55.     let valore_iniziale=valore_iniziale+riga
  56. done
  57.  
  58. media=0
  59. let media=valore_iniziale/$inp1
  60. minima=$(head -1 med-sorted.txt) &&
  61. massima=$(tail -1 med-sorted.txt)
  62. m1=${media:0:2}
  63. m2=${media:2}
  64.  
  65. echo ""
  66. echo "Resoconto temperature: "
  67. echo ""
  68. echo "Min:   $minima."
  69. echo "Max:   $massima."
  70. echo "Media: $m1.$m2'C."
  71. echo ""
  72. rm -f med.txt
  73. rm -f med-sorted.txt
  74. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement