Pular para o conteúdo

shell Scrpit Data e hora [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. shell Scrpit Data e hora [RESOLVIDO]

Enviado em 19/09/2011 - 10:26h

gente me ajudem sou iniciante em shell script preciso de ajuda

*Fazer um script que imprima horas e minutos no
formato 12 horas (ex. 7:00 am/pm)

*Escreva um script que dê bom dia, boa tarde ou boa
noite, de acordo com a hora apresentada pelo comando
date.

desde de já fico muito grato Obrigado

Responder tópico

2. Re: shell Scrpit Data e hora [RESOLVIDO]

Melhor resposta

Enviado em 19/09/2011 - 11:15h

para imprimir horas e minutos no formato 12 horas

#!/bin/bash
date +%r



Script de bom dia etc..
Sem usar awk!

#!/bin/bash

if [ "$(date +%k)" -ge 6 -a "$(date +%k)" -le 11 ]
then
echo "Bom dia $USER, Hoje é $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"

elif [ "$(date +%k)" -ge 12 -a "$(date +%k)" -le 17 ]
then
echo "Boa tarde $USER, Hoje é $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"

else echo "Boa noite $USER, Hoje é $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"
fi


3. Re: shell Scrpit Data e hora [RESOLVIDO]

Enviado em 19/09/2011 - 10:29h

man date

Faca o codigo e tente rodar. Se tiver problemas, poste as duvidas aqui.

4. Muito Obrigdo

Enviado em 19/09/2011 - 11:25h

obrigado esclareceu minhs duvidas tenho mas duvidas que serão postadas no momento. vlw e obrigdo pela a força gente!

5. Re: shell Scrpit Data e hora [RESOLVIDO]

Enviado em 19/09/2011 - 18:13h


Concordo com o Hebang, o ideal é que você tente primeiro e depois solicite nossa ajuda, mas como o colega já resolveu seu problema ... então vamos dar uma contribuição a mais para seu conhecimento.

Muita gente usa o date assim:

else echo "Boa noite $USER, Hoje e $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"

Mas podemos economizar alguns comandos assim:

else echo "Boa noite $USER, Hoje e $(date "+%a , dia %d de %b de %Y")"

ou ainda assim:

else date "+Boa tarde $USER, Hoje e %a , dia %d de %b de %Y"

Só a titulo informativo, pois isso teria que rodar muitas vezes para sentir a diferença.

No caso fiz um loop de 1000 para os comandos e veja a diferença:

1) echo "Boa noite $USER, Hoje e $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"
real 0m18.890s
user 0m4.636s
sys 0m15.181s


2) echo "Boa noite $USER, Hoje e $(date "+%a , dia %d de %b de %Y")"
real 0m5.277s
user 0m1.508s
sys 0m3.816s


3) date "+Boa tarde $USER, Hoje e %a , dia %d de %b de %Y"
real 0m3.989s
user 0m1.284s
sys 0m2.828s

6. Re: shell Scrpit Data e hora [RESOLVIDO]

Enviado em 19/09/2011 - 23:03h

fdmarp escreveu:

No caso fiz um loop de 1000 para os comandos e veja a diferença:

1) echo "Boa noite $USER, Hoje e $(date +%a), dia $(date +%d) de $(date +%b) de $(date +%Y)"
real 0m18.890s
user 0m4.636s
sys 0m15.181s


2) echo "Boa noite $USER, Hoje e $(date "+%a , dia %d de %b de %Y")"
real 0m5.277s
user 0m1.508s
sys 0m3.816s


3) date "+Boa tarde $USER, Hoje e %a , dia %d de %b de %Y"
real 0m3.989s
user 0m1.284s
sys 0m2.828s


Estou sempre que possível adotando a tática de não ficar preocupado com o número de linhas do código e sim com a sua execução.
O exemplo 3 e o 2 parecem similares, mas me parece que no caso do 2º gera 2 forks. No caso do exemplo 3(tres) gera apenas 1.

Outra estratégia na hora de usar comandos é tentar sempre algum builtin. No caso, o date acessa o system e cobra recursos da máquina.
Se você tiver como simular algum tipo de comportamento usando uma função builtin, tente usa-la porque irá economizar recursos e a operação será mais rápida geralmente.


7. Re: shell Scrpit Data e hora [RESOLVIDO]

Enviado em 19/09/2011 - 23:10h

vlw amigo ja tinha resolvido mas gostei do seu codigo! abraços e muito Obrigado!

8. Re: shell Scrpit Data e hora [RESOLVIDO]

Enviado em 20/09/2011 - 21:00h

nerds leigo escreveu:

vlw amigo ja tinha resolvido mas gostei do seu codigo! abraços e muito Obrigado!


Qual código ? kkkk Eu só citei ele. :)

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder