¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Mostrar un reloj en la consola de texto (reloj.sh) 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto. Sobre todo es útil cuando estás en consolas "linux" (CTRL-ALT-F1 por ejemplo), es decir no terminales "xterm" que son las que se abren bajo un ambiente Xwindow.


reloj.sh

#!/bin/bash
#################################################################################################
# Copyright 2005-2017 Sergio González Durán (sergio.gonzalez.duran@gmail.com)
# Se concede permiso para copiar, distribuir y/o modificar este programa siempre
# y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos
# de la GNU General Public License,
# Versión 3 o cualquiera O Posterior publicada por la Free Software Foundation.
#################################################################################################
# ************************* # reloj.sh # linuxtotal.com.mx # ************************* # dentro de un ciclo sin condiciones se ejecuta el script while : do # se formatea la hora y la fecha como la veremos en pantalla cmd=`date +"%H:%M:%S %F"` # se guarda la posición actual del cursor echo -n -e "\033[s" # estas dos líneas puedes descomentarlas y su resultado # es que la línea superior de la consola siempre estará limpia, # solo el reloj, pero causa parpadeo #tput cup 0 0 #tput el # se calcula el total de columnas de la terminal o consola # y se posiciona el cursor en esa posición menos 19 caracteres # que es lo que mide 'HH:MM:SS AAAA-MM-DD' C=$((`tput cols` - 19)) tput cup 0 $C # establecemos el color del reloj en verde invertido # setaf 2 = verde, smso = invertido COLOR=`tput setaf 2; tput smso` # se regresa a texto normal, sino todo saldría verde NORMAL=`tput sgr0` # mandamos a la pantalla la variable con la fecha y hora # junto con los cambios de color echo -n $COLOR$cmd$NORMAL # se reestablece el cursor a donde se encontraba originalmente echo -n -e "\033[u" # el ciclo se ejecuta cada segundo sleep 1 done

La variable $cmd tiene la hora y fecha al momento con un formato espécifico (En este artículo de LinuxTotal.com.mx encuentras como formatear fechas), después con un echo -n -e se indica con la opción -n que no de un salto de línea y la opción -e se inicia una secuencia de escape '\033[' que también se puede indicar como '\E[' y el parámetro 's' indica guardar la posición actual del cursor.

Ahora hay que posicionar el cursor en el extremo superior derecho menos 19 caracteres, lo que mide la cadena 'HH:MM:SS AAAA-MM-DD' que es el valor de $cmd. Esto se logra con la opción cols del comando tput que como imaginarás es el total de columnas de la terminal. $C es el resultado de una operación aritmética '$((`tput cols` - 19))' que en bash se indica entre dobles paréntesis. Y se indica la posición con la opción cup que sus valores son 'renglón' 'columna', en este caso renglón 0 (la primera línea de la terminal) y columna lo que valga $C.

Las variables $COLOR y $NORMAL se explican en el código y después de imprimir en pantalla el conjunto de variables 'echo -n $COLOR$cmd$NORMAL' que respectivamente cambia a verde/invertido, hora y fecha, y regreso a texto normal, se reestablece el cursor a donde originalmente se encontraba, esto se logra con otra secuencia de escape y la opción uu que indica a la terminal reestablecer el cursor a la posición guardada previamente. Por último esperamos un segundo con sleep 1 y el ciclo se vuelve a ejecutar.


Para ejecutarlo establece sus permisos en 711 (chmod 711 reloj.sh) e inicialo asi:

$> ./reloj.sh &
[1] 9765
$>

Es importante ejecutarlo como proceso en background con la opción '&'. Esto te regresa el número de 'job' trabajo que es [1] y su PID, pero como cada segundo se ejecuta el comando, entonces el PID cambia todo el tiempo. Para terminar con el reloj.sh debes usar entonces su número de 'job':

$> jobs
[1]+  Running                 ./reloj.sh &
$> kill %1
[1]+  Terminado               ./reloj.sh
$>

Con un kill %1 que en este caso es el número de trabajo en background se termina la ejecucción del reloj. Más sobre el manejo de procesos en este artículo de LinuxTotal.com.mx

v



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Cron es el nombre del programa que permite a usuarios Linux/Unix ejecutar automáticamente comandos o scripts (grupos de comandos)....


...quien resuelve los nombres de dominio a su correspondiente IP, sería el DNS del proveedor, pero si implementamos un DNS Cache,....


Sistemas Linux con gran cantidad de usuarios, como servidores de correo, servidores samba, etc., tarde o temprano tienen el proble....


Ya son varios los lectores que me preguntan que CMS (content management system) utilizo para este sitio. Ejemplos de CMS son mambo....


Aqui, traté de enviar un archivo ejecutable (notepad.exe) a través de gmail, y sus mecanismos de seguridad me lo impidieron. Gma....


Observa la imagen siguiente, que corresponde a uno de los sitios de descargas de MySQL y notarás que todos los archivos que puede....


De acuerdo a la definición en wikipedia un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a ....


Una tarea administrativa algo común, es eventualmente tener que añadir un nuevo disco duro (IDE) al o a los que ya se tienen, de....


La siguiente combinación de comandos te permite extraer los 10 comandos más usados directamente del historial (comando history) ....


Hoy en día los usuarios de Windows y Linux tenemos múltiples formas de combinarlos en el mismo equipo. Ya sea que uses el tradic....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com