[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] string retorno da funcao
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] string retorno da funcao |
Date: |
Tue, 30 May 2006 22:18:27 -0300 (BRT) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
On Tue, 30 May 2006 5:24pm -0300, RAUL LEOPOLDO LONGHI wrote:
> is_time() {
> now=`date|awk '{print $4}'`
> $now
> }
>
> até aqui tranquilo. O meu problema é que estou tentando pegar esse
> retorno e atribuir a uma variavel, mas nao tah dando certo.
>
> start_time=is_time (nao da certo)
>
> start_time=$(is_time) (nao da certo)
Em UNIX/shell o único tipo de "retorno" que existe é um valor de 0 a 255.
Qualquer outra coisa tu precisa usar outros mecanismos. Um desses
mecanismos é tu pegar o resultado (output, não confunda resultado com
código de retorno) de uma chamada (seja de um software, seja de uma
função, seja de qualquer coisa).
No teu $now, troca por:
printf "%s" "$now"
Assim:
is_time()
{
now=$(date | awk '{ print $4 }')
printf "%s" "$now"
}
OBS: Prefira sempre usar $(), como tu usou na tua tentativa de pegar o
retorno, no lugar de ``. Assim a tua segunda tentativa vai funcionar:
% start_time=$(is_time)
% print $start_time
22:13:03
--
Felipe Kellermann