Script que mostra a temperatura do processador

Publicado por Perfil removido (última atualização em 22/02/2011)

[ Hits: 10.414 ]

Download print-temp




Fiz esse script para mostrar de forma simples a temperatura do processador, baseando-me na saída do comando "sensors".

  



Esconder código-fonte

#!/usr/bin/perl

# by ru4n :-)

@cmd = (`sensors`) or die "sensors not found!\n";
foreach my $temp (@cmd) {
  if ($temp =~ /temp\d:/) {
    $temp =~ s/temp\d:\s+ (\+\d+.*) \(.*\)/\1/;
    my $value = $temp; $value =~ s/^\+(\d+.\d+).*$/\1/;
    
    if ($value <= 30) { print "good: {FONTE}33[01;34m$temp{FONTE}33[m"; }                         
    elsif ($value > 31 && $value <= 60) { print "normal: {FONTE}33[01;33m$temp{FONTE}33[m"; }     
    elsif ($value > 61) { print "high: {FONTE}33[01;31m$temp{FONTE}33[m"; }
  }
}

Scripts recomendados

data e hora

Agenda em Perl

Substituir palavras em arquivos

Ircbot

Troca palavras em Perl


  

Comentários
[1] Comentário enviado por dudis em 22/02/2011 - 19:37h

Opa.

Achei muito legal o script, fui testar e me retornou a seguinte saida:

normal: {FONTE}33[01;33m33[m[root@xxx ~]

sendo que minha versão do perl é v5.12.3.

Revisei o código que colei no arquivo que gerei e aparentemente está certo.

O que será que estou fazendo errado?

[2] Comentário enviado por removido em 22/02/2011 - 19:47h

Opa, na verdade tu não fez nada de errado não.

O site por algum motivo, troca os códigos de cores dos scripts por { FONTE }.

O certo seria:
if ($value <= 30) { print "good: \ 033[01;34m$temp\ 033[m"; }
elsif ($value > 31 || $value <= 60) { print "normal: \ 033[01;33m$temp\ 033[m"; }
elsif ($value > 61) { print "high: \ 033[01;31m$temp\ 033[m"; }

Junte os caracteres '\' com '033' no script, aí dá certo. :-)

Eu cometi um pequeno engano no script também; no lugar do "&&" (AND), troque por "||" (OR).
Abraços

[3] Comentário enviado por dudis em 22/02/2011 - 19:56h

O pouco que conheço de perl me fez parecer bem estranho o bloco { FONTE }, mas mesmo assim achei que fosse necessário.

Agora está funcionando corretamente.

Obrigado pela ajuda ru4n.

Abraço.

[4] Comentário enviado por WhiteHawk em 12/03/2011 - 20:51h

Legal. Apesar de não programar em Perl, ainda, admiro muito esta linguagem.

[5] Comentário enviado por williamcosta em 02/06/2011 - 21:12h

Faco analise de sistemas. Entendo um pouco de linguagens, e logica...mais perl desconheco, boa ru4n
me retorno certinho aqui!

good 21 C

Abraco

[6] Comentário enviado por removido em 03/06/2011 - 09:57h

Valeu wilian!

Aqui só retorna amarelo, ou seja, "normal":
normal 43 C

Abaixo de 40 é difícil aqui, e olha que trabalho com o pc aberto.
Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts