shell-script-pt
[Top][All Lists]
Advanced

[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-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]