Errinho no if [RESOLVIDO]

1. Errinho no if [RESOLVIDO]

Guilherme Moura de Souza
Sir.Guil

(usa CentOS)

Enviado em 03/09/2010 - 20:24h

Boa noite, estou tentando criando um shell e estou tendo problemas com uma parte, eis ela

if [ 10:00 -gt 01:00 ]; then
echo " tempo maior "; else
echo " tempo menor "
fi

preciso que ele valide se o tempo informado é maior que o pré estabelecido

grato


  


2. MELHOR RESPOSTA

Jefferson Diego
Diede

(usa Debian)

Enviado em 04/09/2010 - 02:15h

Creio que o Shell não faça isso que você precisa diretamente, até porque "-gt" é exclusivo à integer.
Você pode, no entanto transformar as strings de horas em um número único, no caso em minutos, partindo do conceito de que em uma string de hora no formato hh:mm, você tem que minutos=(hh*60)+mm:


#! /bin/bash

HORA_01="$1"
HORA_02="$2"

Ha_01=$(echo $HORA_01| cut -d ":" -f 1)
Hb_01=$(echo $HORA_01| cut -d ":" -f2)
Ha=$(echo "(""$Ha_01"*60")"+"$Hb_01"| bc -l)

Ha_02=$(echo $HORA_02| cut -d ":" -f 1)
Hb_02=$(echo $HORA_02| cut -d ":" -f2)
Hb=$(echo "(""$Ha_02"*60")"+"$Hb_02"| bc -l)

echo $Ha
echo $Hb

if [ $Ha -gt $Hb ]; then
echo "A hora ser maior"
else
echo "A hora ser menor"
fi




Chame este script tendo a hora1 como primeiro argumento e a hora 2 como segundo, como em:
./script.sh 10:00 01:00

3. Re: Errinho no if [RESOLVIDO]

Guilherme Moura de Souza
sir.guil

(usa CentOS)

Enviado em 04/09/2010 - 14:59h

Grato pela resposta,

ajudou a sanar o problema






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts