Cuando empecé a hacer este script no conocía el comando shutdown a fondo...
Pero como ya lo tenía hecho y necesito proporcionar el tiempo de apagado en minutos (por ejemplo si pongo una pelicula o algo y se que me voy a quedar dormido).
Sin más el absurdo de los absurdos :)
#!/bin/bash
# Script que apaga automáticamente la máquina en un tiempo dado en minutos.
# By Aladaris 2007
# GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007
# http://www.gnu.org/licenses/gpl.txt
# EJECUTAR COMO ROOT
hora=`date +%H` # Alamacenerá la hora actual a partir de ahora
minuto=`date +%M` # Alamacenerá el minuto actual a partir de ahora
echo "Son las: $hora:$minuto"
echo "Minutos: "
read minutos # Valor introducido por el usuario
Tminutos=$minutos # Numero Total de minutos (usado para sleep 1m)[linea 40]
# Convertir minutos en horas si se introduce un valor superior o igual a 60
horas=0 # El equivalente en horas de los minutos
while [ $minutos -ge 60 ] # -ge indica >=
do
let minutos=minutos-60
let horas=horas+1
done
hora=`date +%H`
minuto=`date +%M`
Nminutos=0
Nhoras=0
let Nhoras=hora+horas
let Nminutos=minutos+minuto
# Convertir minutos en horas si se introduce un valor superior o igual a 60
while [ $Nminutos -ge 60 ]
do
let Nminutos=Nminutos-60
let Nhoras=Nhoras+1
done
echo "Pasarán $Tminutos minutos hasta que se cierre el ordenador a las [$Nhoras:$Nminutos]"
seguir=1 # Booleana utilizada para repetir el bucle siguiente
while [ $seguir == 1 ]
do
sleep 1m
let Tminutos=Tminutos-1
hora=`date +%H`
minuto=`date +%M`
echo "[$hora:$minuto] Quedan $Tminutos minutos hasta que se apague el ordenador"
if [ $Nminutos -le $minuto ]
then
if [ $Nhoras -le $hora ]
then
seguir=0
fi
fi
done
echo "Apagando el sistema"
sleep 3s
shutdown -h
|

Sí se hace lo mismo con "
shutdown -h 15:32"
Y sí, ahora uso
KDE.