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

[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


reply via email to

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