Crie um script que produza algo quando a condição for verdadeira. Este exemplo produzirá um espaço quando o horário estiver entre 9:00 e 16:59.
#!/bin/bash
time=$(date +%H)
if (( time >= 9 && time <= 16 ))
then
echo " "
fi
Salve este script. Vamos chamar de "screenbtdaytime". Além disso, faça chmod u+x screenbtdaytime
(ou +x
sem o u
para torná-lo universalmente executável).
Para demonstrar isso, use essa linha em vez do if
acima, para que a alteração ocorra a cada 10 segundos, para que você não precise esperar o dia todo para ver o efeito:
if (( $(date +%s) / 10 % 2 )) # temporary for demo
Agora, em screen
, pressione Ctrl-a e : para ativar o prompt de comando e digitar esses dois comandos:
backtick 1 0 1 /path/to/screenbttime
caption always "%?%{+b by}%1'%:%{+b yb} %?%C | %D, %M %d, %Y"
Você pode usar hardstatus
em vez de caption
, se preferir, acredito.
A alteração de 0
para 60
no comando backtick
fará com que as atualizações aconteçam uma vez por minuto, e não na taxa padrão.
Isso atribui o script ao comando backtick 1 (o primeiro "1") que é usado na legenda em que você vê %1'
. Você pode ter outros comandos associados a outros números para que você possa ter várias coisas acontecendo.
Como o script gera um espaço durante o tempo designado, ele aciona o condicional %?
, que é definido para emitir códigos de cores para texto azul em um plano de fundo amarelo. A parte "else" ( %:
) é executada quando não há saída do script e as cores são amarelas em um plano de fundo azul. Um espaço extra é adicionado no "else" para corresponder visualmente àquele que é exibido como a saída do script.