> 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
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.