Criar array com base em arquivo de dados.

1. Criar array com base em arquivo de dados.

Joao Vitorino
joao_vitorino

(usa Red Hat)

Enviado em 02/02/2015 - 15:37h

Boa tarde!
Quando crio um script que necessita de muitas variaveis, geralmente coloco essas variaveis em um arquivo separado, e dentro do script coloco uma linha assim:
source /home/meu_usuario/arquivo_properties e ele pega todas variaveis desse arquivo.


Queria saber como utilizar esse recurso para criar arrays.
Ficaria assim
arquivo.properties teria uma linha mais ou menos assim
lista_servidores = A AB ABC ADB ACC
como importo isso para dentro do script tornando isso uma variavel?

Desde já obrigado pela ajuda.






  


2. Re: Criar array com base em arquivo de dados.

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/02/2015 - 16:03h

joao_vitorino escreveu:

Boa tarde!
Quando crio um script que necessita de muitas variaveis, geralmente coloco essas variaveis em um arquivo separado, e dentro do script coloco uma linha assim:
source /home/meu_usuario/arquivo_properties e ele pega todas variaveis desse arquivo.

Então arquivo_properties é o seu arquivo de configuração. Tem casos (talvez não seja o seu) em que é melhor realmente implementar um arquivo de configuração em algum formato pré-definido afim de validar os valores das variáveis antes de tentar carregá-las.


Queria saber como utilizar esse recurso para criar arrays.
Ficaria assim
arquivo.properties teria uma linha mais ou menos assim
lista_servidores = A AB ABC ADB ACC
como importo isso para dentro do script tornando isso uma variavel?

Desde já obrigado pela ajuda.



Só não ficou claro se você pretende já declarar a variável "lista_servidores" como array no "arquivo de configuração" ou se esta variável permanecerá escalar com valores separados por espaços em branco como no exemplo dado.

No primeiro caso, faça no "arquivo de configuração":

lista_servidores=(A AB ABC ADB ACC) 


No segundo caso, faça no script após carregar o "arquivo de configuração":


for server in $lista_servidores; do
server_list[${#server_list[*]}]=$server
done




3. Re: Criar array com base em arquivo de dados.

Joao Vitorino
joao_vitorino

(usa Red Hat)

Enviado em 02/02/2015 - 18:16h


Obrigado textmode . No meu caso, eu só quero evitar que o script seja alterado com uma frequencia desnecessária. Esse script ira servir para fazer deploy automatico em servidores jboss.

E o nome do servidor é passado como $1 do script. Então isso serviria para validar se o servidor existe ou não antes de realizar o deploy. Caso um novo servidor seja criado, bastaria adicionar seu nome no arquivo de configuração. Sem necessidade de alterar o script.


A segunda solução sua é a que me serve, vou testar amanhã e depois de aviso.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts