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

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

Re: [shell-script] Condições com IF


From: Tiago Peczenyj
Subject: Re: [shell-script] Condições com IF
Date: Wed, 15 Jan 2014 13:38:41 -0200

Não vejo grande necessidade. Eu pessoalmente não uso com frequencia.

Tem algumas vantagens vc utilizar ${} especialmente se vc concatena com strings tipo

cd ${BASEDIR}/path/to/destiny

em vez de

cd $BASEDIR/path/to/destiny

mas se o seu script é pequeno e legível, existem outras coisas que podem trazer mais valor, por exemplo uma boa documentação via um parametro -h / --help que explique o que o script faz e como se comporta (se retorna sempre 0, se exige root, etc).



2014/1/15 Karin Klayton <address@hidden>
 

Pessoal,

Somente retornando num ponto que o Julio C.Neves comentou, por questões de segurança, não seria sempre bom manter as variáveis fechadas entre {}?

Eu costumo por padrão utilizar na atribuição de valores a variáveis VAR1=$(VALOR_OU_COMANDO), e na hora de referenciar elas utilizar as ${VAR1}.

Atenciosamente,
Karin Klayton Schiochet     


Em 10 de janeiro de 2014 09:55, Giovanni Souza <address@hidden> escreveu:

 

Julio e Willy,

Muito obrigado pelas dicas, todas funcionaram.

Abraço.


Em 9 de janeiro de 2014 19:56, Willy Romão <address@hidden> escreveu:

 

Giovanni,

Já que o arquivo está no padrão bash de atribuição de valores em variáveis, você pode usá-lo, por exemplo:

source exemplo.conf  #essa linha vai incluir tudo o que está em exemplo.conf no script atual.

if [ "${method}" == "update" ]
then
           if [ "${mode}" == "schema" ]
           then
...


Sendo assim, você não precisaria fazer todos os filtro para pegar os valores de method e mode, eles já estariam no script atual.

Att,

Willy Romão


On 01/09/2014 07:22 PM, Giovanni Souza wrote:
 
Caros boa noite,

Estou com um problema no meu script em uma parte que testa condições.

tenho um arquivo de nome exemplo.conf que contem variáveis:

method=update # (ou: rebuild)
mode=schema  # (ou: query)

Estou criando uma condição para testar o valor da variável do arquivo se é um desses valores acima. Porém retorna erro de comando não encontrado.

Poderiam ajudar na minha lógica de condição ??

Obrigado.

Segue uma parte do script onde gera o erro:

        importacaocore=`find ${importacao} -name '*_dados.conf'`

        method=`grep -e 'method'  ${importacaocore}|cut -d= -f2`

        mode=`grep -e 'mode'  ${importacaocore}|cut -d= -f2`

        nomecore=`grep -e 'nomecore'  ${importacaocore}|cut -d= -f2`

        url="" href="http://localhost/ccp.holograma/biserver/coreAdmin.do?dispatch=importSchema&datasource=HOLOGRAMA_BISERVER_LOCAL&method=$%7Bmethod%7D&mode=$%7Bmode%7D&path=$%7Bimportacao%7D/$%7Bnomecore%7D$%7Bjs%7D&token=$%7Btoken%7D" target="_blank">http://localhost/ccp.holograma/biserver/coreAdmin.do?dispatch=importSchema&datasource=HOLOGRAMA_BISERVER_LOCAL&method=${method}&mode=${mode}&path=${importacao}/${nomecore}${js}&token=${token}"

        echo $url

        if [${method} = update]

        then
           if [${mode} = schema]
           then

                wget --output-file=/dev/null --output-document=${importacao}/${nomecore}.txt $url &
           fi
        elif [${method} = update]

        then
           if [${mode} = query]
           then

                wget --output-file=/dev/null --output-document=${importacao}/${nomecore}.txt $url &
           fi

        elif [${method} = rebuild]

        then
           if [${mode} = schema]
           then

                wget --output-file=/dev/null --output-document=${importacao}/${nomecore}.txt $url &
           fi
        elif [${method} = rebuild]

        then
           if [${mode} = query]
           then

                wget --output-file=/dev/null --output-document=${importacao}/${nomecore}.txt $url &
           fi
        else

           echo "Informações de method e/ou mode do arquivo ${importacaocore} estão incorretas.
                 Preencher a variável method com: update caso queira atualizar ou rebuild caso deseja apagar estruturas e consultas do Solr e preencher com as informações do arquivo .txt
                 Preencher a variável mode com: schema caso queira alterar/atualizar a estrutura ou query caso queira alterar/atualizar as consultas"

        fi







--
Atenciosamente,
____________________________
Karin Klayton Schiochet
Linux Counter: 400920
E-mail: address@hidden
            address@hidden
MSN: address@hidden




--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj

reply via email to

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