El libre pensamiento para un internet libre

No estas registrado.  

#1 06-04-2016 22:14:57

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 5,730

Despertador en una linea de ordenes con el comando sleep

Transformar tu consola en un despertador gracias a una simple linea de ordenes con sleep

6GY01XQBkf3lS.gif

  Con un poco de imaginación podemos hacer muchísimas cosas con nuestra consola bash sin tener ni idea de programación...
Para hacer un despertador no necesitamos nada mas que sleep y una canción bonita (o un ruido insoportable) para reproducirla en nuestro lector multimedia. 

El comando sleep

  El comando sleep es para hacer pausas.
Nuestra consola "duerme" durante un tiempo que definimos
Es un comando ultra simple a emplear, sin opciones (otras que help y version) ...

sleep --help
Modo de empleo: sleep NÚMERO[SUFIJO]...
       o bien:  sleep OPCIÓN

Hace una pausa de NÚMERO segundos. El SUFIJO puede ser 's' para segundos
(predeterminado), `m' para minutos, 'h' para horas o 'd' para días.
Al contrario de la mayoría de las implementaciones que exigen que
NÚMERO sea un entero, aquí NÚMERO puede ser un número de coma flotante
arbitrario. Dados dos o más argumentos, hace una pausa por la cantidad
de tiempo especificada por la suma de sus valores.

      --help     muestra esta ayuda y finaliza
      --version  informa de la versión y finaliza

ayuda en línea sobre GNU coreutils: <http://www.gnu.org/software/coreutils/>
Informe de errores de traducción en sleep a <http://translationproject.org/team/es.html>
Full documentation at: <http://www.gnu.org/software/coreutils/sleep>
or available locally via: info '(coreutils) sleep invocation'

  Entonces para hacer una pausa de 5 segundos es así:

sleep 5

Si ejecutas este código en consola veras que durante 5 segundos no puedes hacer nada en consola y luego vuelves a poder entrar ordenes. 
Por defecto se usan segundos.
Si quieres usar otra unidad de tiempo debes añadir el sufijo correspondiente :

  • m para minutos
    Una pausa de 5 minutos se hace con

    sleep 5m
  • h para horas y d para días

  Puedes usar varios argumentos...
Por ejemplo; una pausa de 6 horas y 15 minutos se puede hacer así

sleep 6h 15m

...en lugar de

sleep 375m

  Nada más que añadir sobre el comando sleep, no es nada complicado. wink

Me vais a preguntar
  ....¿Pero a que coño sirve hacer pausas en consola?
  Cuando hacemos un script nos damos cuenta que es a veces necesario para encadenar ordenes porque necesitan una ligera pausa entre ellas.
Siempre en el contexto del "scritping" es también a menudo necesario para dejar el tiempo al usuario de leer unos mensajes.
Por ejemplo :

echo "Ejecutando wash en búsqueda de objetivos" && sleep 3 && wash -i wlan0mon   

El mensaje "Ejecutando wash en búsqueda de objetivos"  se queda así 3 segundos en consola antes de que desaparezca porque se ejecuta wash.
  Estos son casi choradas en comparación con la función de sleep que es  programar la ejecución de tareas.

Despertador bash

  Es solo un pequeño truco sin pretensiones visto aquí :
How to practically use your Linux terminal (four examples) @ howtoforge
¿Que es un despertador?
En esencia es un programa que ejecuta una tarea ( leer un archivo musical ) en un momento definido.

sleep <tiempo_para_dormir> && <lector_multimedia> ruta_fichero_música

Son las 11 de la noche ahora...
Por ejemplo, si quiero madrugar mañana - algo como las dos de la tarde -, pongo mi alarma dentro de 15 horas.

sleep 15h && cvlc '/home/kcdtv/Música/Radioactive cake/03 - Fagin'\''s Reject - Occult Boogaloo (Radioactive.Cake Remix).flac'   
  • sleep 15h
    Nuestra consola se queda inactiva durante 15 horas

  • &&
    permite ejecutar otra orden después que se haya ejecutado la primera (sleep 15 horas, es decir no hacer nada durante 15 horas)

  • cvlc <ruta_archivo>
    Uso cvlc en lugar de vlc para no abrir la interfaz gráfica de vlc


   
Como siempre, un pequeño vinculo hacía la pagina de referencia, la man page :

Desconectado

#2 06-04-2016 22:59:47

USUARIONUEVO
Usuario

Registrado: 07-07-2015
Mensajes: 312

Re: Despertador en una linea de ordenes con el comando sleep

y si no sabeis el nombre del ejecutable por defecto del tipo de fichero multimedia... podeis usar

xdg-open "ruta cancion"

xdg-open se encargara de saber que programa esta por defecto para tal o cual fichero ...

con xdg-open funcionara aunque cambies de reproductor multiemdia. smile

Desconectado

Temas similares

Tema Respuestas Vistas Ultimo mensaje
2 167 Hoy 15:25:52 por Patcher
Pegado:
521 339992 10-05-2023 18:24:28 por Betis-Jesus
Hospital clinic dump por wifiyeah  [ 1 2 ]
27 1242 09-05-2023 21:32:44 por kcdtv
Hacktivismo por CHARGER22
1 205 08-05-2023 19:53:26 por kcdtv
Pegado:
Pegado:: Script multiuso wifi para Kali y otras distros por v1s1t0r  [ 1 2 3 18 ]
447 66090 22-04-2023 15:31:13 por kcdtv

Pie de página

Información del usuario

Ultimo usuario registrado: klurosu
Usuarios registrados conectados: 0
Invitados conectados: 6

Estadisticas de los foros

Número total de usuarios registrados: 2,446
Número total de temas: 1,637
Número total de mensajes: 15,586

Máx. usuarios conectados: 373 el 30-09-2019 15:04:36