Despertador en una linea de ordenes con el comando sleep (Pagina 1) / Asesoramiento sistemas Linux / Foro Wifi-libre.com

El libre pensamiento para un internet libre

No estas registrado.     

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

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

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,053

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

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

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

USUARIONUEVO
Usuario

Registrado: 07-07-2015
Mensajes: 193

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

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

Temas similares

Tema Respuestas Vistas Ultimo mensaje
Hola! por Ike
1 5 Ayer 23:54:48 por kcdtv
RouterScan linux por juandiegomu
3 29 Ayer 22:06:44 por kcdtv
7 849 Ayer 17:35:28 por kcdtv
1 17 Ayer 11:25:21 por Koala
2 51 Ayer 02:07:10 por kcdtv

Pie de página

Información del usuario

Ultimo usuario registrado: Ike
Usuarios registrados conectados: 0
Invitados conectados: 4

Estadisticas de los foros

Número total de usuarios registrados: 356
Número total de temas: 616
Número total de mensajes: 4,220

Máx. usuarios conectados: 45 el 12-04-2016 12:02:20