temp.sh: Script nuevo

Script que sirve para monitorizar temperatura del procesador
This commit is contained in:
Tuxliban Torvalds 2023-09-15 19:31:42 -06:00
parent 08cfa83fe9
commit 8dbaf6c412
1 changed files with 55 additions and 0 deletions

55
varios/temp.sh Normal file
View File

@ -0,0 +1,55 @@
#!/bin/sh
#
# v0.1 - 15/09/2023
#
# Script que calcula la temperatura promedio del procesador leyendo la información
# disponible en el directorio /sys/class, esta información es proporcionada por
# el kernel.
# El script realiza los cálculos apoyándose de herramientas del sistema y builtin
# del shell.
#
# Dependencias: cat bc
#
# Shell: POSIX compliant
# Autor: O. Sánchez <o-sanchez@linuxmail.org>
# Directorio base donde se encuentran los archivos "temp"
base_dir="/sys/class/thermal"
# Inicializar variables para la suma y el contador
suma=0
contador=0
# Iterar sobre los directorios "thermal_zone*"
for dir in "$base_dir"/thermal_zone*; do
if [ -d "$dir" ]; then
# Verificar si el archivo "temp" existe en el directorio
temp_file="$dir/temp"
if [ -f "$temp_file" ]; then
# Leer el contenido del archivo "temp" y agregarlo a la suma
temp_value=$(cat "$temp_file")
suma=$((suma + temp_value))
contador=$((contador + 1))
fi
fi
done
# Calcular el promedio en enteros
if [ "$contador" -gt 0 ]; then
promedio_enteros=$((suma / (contador * 1000)))
# Calcular el promedio en decimal (con decimales)
promedio_decimal=$(echo "scale=2; $suma / ($contador * 1000)" | bc)
# Comprobar si el promedio tiene decimales y mostrarlo en consecuencia
if [ "$promedio_enteros" -eq "$promedio_decimal" ]; then
echo "${promedio_enteros##.*}"
exit 0
else
echo "$promedio_decimal"
exit 0
fi
else
echo "No se encontraron archivos 'temp' en los directorios 'thermal_zone*'."
exit 10
fi