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

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

Jose Ribeiro
joserribeirojuni

(usa Ubuntu)

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.



  


2. MELHOR RESPOSTA

Joao
stack_of

(usa Slackware)

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]

Perfil removido
removido

(usa Nenhuma)

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]

Perfil removido
removido

(usa Nenhuma)

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]

igor
igorbsp

(usa Slackware)

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]

Jose Ribeiro
joserribeirojuni

(usa Ubuntu)

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

Obrigado igorbsp.
Era exatamente o que eu precisava.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts