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

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

Re: [Bulk] Re: [Bulk] [shell-script] Exemplo de expansão de variável


From: Ultimo de Miranda
Subject: Re: [Bulk] Re: [Bulk] [shell-script] Exemplo de expansão de variável
Date: Thu, 27 Nov 2014 08:54:28 -0200

On Wed, 2014-11-26 at 18:39 -0200, Sidney Souza address@hidden
[shell-script] wrote:
>   
> Neste caso o que esta ocorrendo é o seguinte, você não esta usando o
> conteúdo da variável.
> 
> 
> Um outro exemplo mais elaborado.
> 
> 
> Suponhamos que você precisa dar um ping em um determinado host, esse
> host será enviado por parâmetro para seu programa. Porém, caso nenhum
> host tenha sido definido, o ping será enviado para o um servidor de
> dns.
> 
> 
> Com os requisitos em mãos, vamos à prática:
> 
> 
> $ cat meuping.sh 
> 
> 
> #!/bin/bash
> 
> 
> host=$1
> [ -z "$host" ] && host="8.8.8.8"
> ping -c 5 ${host}
> 
> 
> 
> 
> Execução: 
> $ ./meuping.sh 
> ou 
> $ ./meuping.sh [ IP destino ]
> 
> 
> No script acima tivemos que validar se a variável $host tem tamanho
> zero e caso possível setar o ip default (8.8.8.8).
> 
> 
> Com a expansão de variáveis você economiza tempo, dinheiro e escrita
> de código kkkkkk. Veja abaixo.
> 
> 
> $ cat meuping2.sh 
> 
> 
> #!/bin/bash
> 
> 
> host=$1
> ping -c 5 ${host:=8.8.8.8}
> 
> 
> 
> Execução: 
> $ ./meuping2.sh 
> ou 
> $ ./meuping2.sh [ IP destino ]
> 
> 
> Como pode ver o resultado é o mesmo, mas economizamos nas validações,
> que é o que mais leva tempo
> de codificação.
> 
> 
> 
> 
> Ficou mais claro?
> 
  Ficou claro,obrigado.
  só que o resultado seria o mesmo fazendo
  host=${1:-8.8.8.8}, ou não ?

> 
> On Wed, Nov 26, 2014 at 5:53 PM, Ultimo de Miranda
> address@hidden [shell-script]
> <address@hidden> wrote:
>           
>         On Wed, 2014-11-26 at 17:38 -0200, Sidney Souza
>         address@hidden
>         [shell-script] wrote:
>         > var=$1 ${var:=texto} 
>         
>         [miranda@guitar tmp]$ cat xuh
>         cnt=$1
>         ${cnt:=texto}
>         [miranda@guitar tmp]$ ./xuh
>         ./xuh: line 2: texto: command not found
>         
>         
>         
>         
>         
> 
> 
> 




reply via email to

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