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

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

Re: [Bulk] Re: [Bulk] Re: [Bulk] [shell-script] Exemplo de expansão de v


From: Sidney Souza
Subject: Re: [Bulk] Re: [Bulk] Re: [Bulk] [shell-script] Exemplo de expansão de variável
Date: Thu, 27 Nov 2014 10:08:07 -0200

Miranda, as duas situações tem o mesmo resultado.

2014-11-27 8:54 GMT-02:00 Ultimo de Miranda address@hidden [shell-script] <address@hidden>:
 

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]