Pular para o conteúdo

Shell Script Lendo aquivo de configuração [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Shell Script Lendo aquivo de configuração [RESOLVIDO]

Enviado em 28/01/2011 - 13:08h

Pessoal boa tarde,

Minha dúvida é a seguinte, eu gostaria de criar um Script de teria a capacidade de ter um arquivo de configuração, esse arquivo de configuração iria possuir informações simples, como do tipo.
server=192.168.0.1
port=0000
Alguém já passou por isso e tem alguma idéia de como fazer ?
Desde já agradeço a atenção de todos.

Responder tópico

2. Re: Shell Script Lendo aquivo de configuração [RESOLVIDO]

Melhor resposta

Enviado em 28/01/2011 - 19:51h

Utilize um script para criar variáveis e outro para utilizálas:

Script de configuração (config.sh):

#!/bin/bash

servidor='192.168.0.1'
porta='8000'

No script executável você executa o script anterior com o comando source, que pode ser abreviado por ponto e espaço:

#!/bin/bash

. config.sh

echo $servidor
echo $porta


3. Re: Shell Script Lendo aquivo de configuração [RESOLVIDO]

Enviado em 28/01/2011 - 13:53h

ja, mas não precisa ser assim, nesse arquivo vc não joga a variavel, mas somente o valor

nesse caso

arquivo /tmp/config

192.168.0.1
0000

no script vc coloca isso

server=`more /tmp/config | awk 'NR == 1'`
server=`more /tmp/config | awk 'NR == 2'`

se vc quiser jogar a varial, vc até que pode, mas ai é melhor fazer filtragem somente do valor, nesse caso seria o modo que vc quer, que talvez seja um jeito mais organizado

ex:
arquivo /tmp/config

server=192.168.0.1
port=0000

no script

server=`more /tmp/config | grep server | awk -F= '{print $2}'`
port=`more /tmp/config | grep port | awk -F= '{print $2}'`


4. Re: Shell Script Lendo aquivo de configuração [RESOLVIDO]

Enviado em 28/01/2011 - 14:35h

Amigo(s)
Seu arquivo de configuração deveria ser escrito de forma semelhante a esta:
192.168.0.1: 0000 : um identificador qualquer

eg.


123.456.789:987:joao
345.567.987:000:jose

Assim voce poderia pegar facilmente a linha:
grep joao
filtrar a informação
cut -d ':' -f -2

ou ainda caso queire colocar a comentários:

# Arquivo com de IP(s)

# Um comentario qualquer
123.456.789:987:joao

# outro comentario
345.567.987:000:jose

poderias filtrar por usuario ou informação adicional:

grep -v '#' arquivo.txt | grep ':joao$' | cut -d ':' -f -2

poderias filtrar por porta:

grep -v '#' arquivo.txt | grep ':987:' | cut -d ':' -f -2



Espero que tenha entendido. Pois acho esta maneira mais facil para iniciantes.

5. Re: Shell Script Lendo aquivo de configuração [RESOLVIDO]

Enviado em 28/01/2011 - 19:21h

- ARQUIVO DE CONFIGURAÇÃO:

server = 192.168.0.1
port = 0000

- SCRIPT:

config="configuração.conf"
if [ -f $config ]; then
server=$(grep 'server' $config | awk -F" " '{print $3 ; }')
port=$(grep 'port' $config | awk -F" " '{print $3 ; }')
else
echo Arquivo de configuração não encotrado
exit
fi

6. Re: Shell Script Lendo aquivo de configuração [RESOLVIDO]

Enviado em 31/01/2011 - 15:58h

Obrigado igorbsp.
Era exatamente o que eu precisava.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder