Cree un script que muestre algo cuando la condición sea verdadera. Este ejemplo generará un espacio cuando el tiempo sea entre las 9 AM y las 4:59 PM.
#!/bin/bash
time=$(date +%H)
if (( time >= 9 && time <= 16 ))
then
echo " "
fi
Guarda este script. Vamos a llamarlo "screenbtdaytime". Además, hazlo chmod u+x screenbtdaytime
(o +x
sin u
hacerlo para que sea universalmente ejecutable).
Para hacer una demostración de esto, use esta línea en lugar de la if
anterior para que el cambio ocurra cada 10 segundos y no tenga que esperar todo el día para ver el efecto:
if (( $(date +%s) / 10 % 2 )) # temporary for demo
Ahora screen
presione Ctrl-a y : para abrir el símbolo del sistema y escriba estos dos comandos:
backtick 1 0 1 /path/to/screenbttime
caption always "%?%{+b by}%1`%:%{+b yb} %?%C | %D, %M %d, %Y"
Puede usar en hardstatus
lugar de caption
si lo prefiere, creo.
Cambiar 0
a 60
en el backtick
comando hará que las actualizaciones sucedan una vez por minuto en lugar de a la velocidad predeterminada.
Esto asigna la secuencia de comandos al comando de retroceso 1 (el primer "1") que se utiliza en el título donde se ve %1`
. Puede tener otros comandos asociados con otros números para que pueda tener varias cosas sucediendo.
Dado que el script genera un espacio durante el tiempo designado, activa el condicional %?
que está configurado para generar códigos de color para texto azul sobre fondo amarillo. La parte "else" ( %:
) se realiza cuando no hay salida del script y los colores son amarillos sobre un fondo azul. Se agrega un espacio adicional en el "else" para que coincida visualmente con el que se muestra como la salida del script.