[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Script em background
From: |
MrBiTS |
Subject: |
Re: [shell-script] Re: Script em background |
Date: |
Sun, 02 Mar 2008 07:54:25 -0300 |
User-agent: |
Thunderbird 2.0.0.12 (X11/20080227) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
| MrBits, preciso de sua ajuda novamente
| com o que vc me passou eu consegui, mais vamos aprimorá-lo
| sabe o meu setor na empresa vai controlar um script, e o outro do
| Marcelo vai controlar outro,
| tipo assim
| um script que apenas lê o horário do relogio do computador, ele apenas
| precisar ler o primeiro algarismo do segundos exemplo:
| 13:17:02 = esse script so precisa ler onde está o 2, dae o script pegava
| essa leitura redirecionava num arquivo texto, tem que ser num arquivo
| texto mesmo.
| Segundo script, um outro script vinha lia essa leitura do arquivo.txt e
| mostrava na tela a cada momento em que os segundos for 5, exemplo:
| 13:17:05 = mostra "Caldeira Ativa"
| 13:17:15 = mostra "Caldeira Ativa"
| 13:17:25 = mostra "Caldeira Ativa"
| so que eu preciso que quando ele sobreescrevesse no arquivo.txt ele
| apagasse os segundos anteriores, para nao passar o arquivo.txt.
| Espero que tenha entendido, eu to meio perdido, comecei a leo o que vc
| me passou, mais se possivel me ajudar eu agradeço mesmo
Olá, Alan
Não vou questionar os motivos de se ter que jogar a unidade dos segundos para
um arquivo a cada 5 segundos. Há duzias de maneiras
mais eficientes e bonitas de se fazer isso, mas determinação da empresa é
determinação da empresa. Manda quem pode, obedece quem tem
conta pra pagar.
Ambas as rotinas serão loops infinitos, então. A primeira armazenará a unidade
dos segundos num arquivo relogio.txt, apagando o
valor anterior sempre.
while true ; do date +%S | cut -c2 > relogio.txt ; sleep 1 ; done
A segunda lerá o arquivo, verificará se o valor é 5 e mostrará a mensagem que
você deseja.
while true ; do if [ $(head relogio.txt) -eq 5 ]; then echo "Caldeira Ativa" ;
fi ; sleep 1; done
Em dois scripts, então
#---- gera_relogio.sh ----
#!/bin/bash
while true ; do
date +%S | cut -c2 > relogio.txt
sleep 1
done
#EOF
#---- le_relogio.sh ---
#!/bin/bash
while true ; do
if [ $(head relogio.txt) -eq 5 ]; then
echo "Caldeira Ativa"
fi
sleep 1
done
#EOF
Não esqueça de chmod 755 nos dois arquivos, coloque-os para rodar e viva.
- --
Um abraço
.0. MrBiTs - address@hidden
..0 GnuPG -
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br (under construction)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHyodhrDdxWm3R8YYRAidaAJwO8aAt0QBu6yLAe+UlYHe3jN+6VQCgggaw
NQVV5WUi+zO1bVtDzuBMf6o=
=923U
-----END PGP SIGNATURE-----