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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

date


From: rafael.nery
Subject: date
Date: Mon, 12 Jun 2006 10:10:31 -0300

Tiago Barcellos Peczenyj,
Agora fiquei confuso no que vc fez...
Ficou muito complexo.
#!/bin/bash
# le uma data no formato DD/MM/YYYY HH:MI:SS
# caso o dia seja um fim de semana : sab/dom
# e esteja fora da faixa 6:30:00 a 18:30:00
# imprime algo

echo "$@" | awk -F"[ \t:/]" '
function seconds(h,m,s){ # retorna o numero de segundos dessa hora !
        return 60*(60*h + m)+s;
}

{
        date=$3" "$2" "$1" "$4" "$5" "$6
        weekday=strftime("%a",mktime(date))

        sec_day  = seconds($4,$5,$6)
        sec_down = seconds(18,30,00)
        sec_up   = seconds( 6,30,00)

        if(weekday == "Sun" || weekday == "Sat"){
                #print "final de semana"
                if((sec_day <  sec_up)||(sec_day > sec_down)){
                        # acho que eh isso que vc quer, senao eh so
alterar o if!
                        print "fora do horario"
                }
        }
}'


Em 09/06/06, rafael.nery<address@hidden> escreveu:
> Pessoal,
> A variavel DATE, uma data no formato:
> DD/MM/YYYY HH:MI:SS.
> Como posso fazer um script para verificar se ela está entre 18:30 e 6:30 e se 
> o dia não é final de semana.
>  Estou tentando algo do tipo:
> #!/bin/bash
> horaAtual="date"
> hora1="18:30"
> hora2="06:30"
> data="date +%a"
> if  [ "$horaAtual" -ge "$hora1"  -a   "$horaAtual" -le "$hora2" -a
> then
> echo "nao"
> exit1
> #else "sim"
> fi
>
> Mas nào está funcionando e falta tb o dia.
> Alguém me ajuda?
> Obrigado,
> Rafael.
>
>
>



reply via email to

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