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: Eliel
Subject: Re: [shell-script] Condições com IF
Date: Wed, 15 Jan 2014 13:50:17 -0200

Nao e obrigatorio, mas eh bom em relacao a seguranca (e ate facilitar caso voce precise fazer parser dentro da variavel)
 
Entao faz parte de boas praticas, assim como o julio falou tambem, e boa pratica nao usar variavel toda em maiusculo por causa das variaveis de ambiente, pois pode sobrescrever (eh raro, mas vai que) uma variavel de sistema gerando problemas no seu script

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



reply via email to

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