2010-09-16 25 views

Répondre

0

J'utilise maintenant cette construction, ne pas besoin de savoir si une section existe. juste le lire, il est vide, il n'existe pas: D

INI_FILE=test.ini 

function ini_get 
{ 

    eval `sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \ 
     -e 's/;.*$//' \ 
     -e 's/[[:space:]]*$//' \ 
     -e 's/^[[:space:]]*//' \ 
     -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \ 
    < $INI_FILE \ 
    | sed -n -e "/^\[$1\]/,/^\s*\[/{/^[^;].*\=.*/p;}" 

    echo ${!2} 
} 


IP=$(ini_get 50001 ip) 
PORT=$(ini_get 50001 port) 
echo $IP:$PORT 
2

solution d'une ligne pourrait être:

export SECTIONS=`grep "^\[" test.ini |sort -u | xargs | tr '\[' ' ' | tr '\]' ' ' ` 
1
SECTIONS=$(crudini --get your.ini | sed 's/:.*//')