Vous voulez lire en shell un fichier de propriété similaire à celui-ci :
vi test.properties
VAR1=zest
VAR2=blop
VAR3=toto
MAIL=test@ty
ALIAS=monalias
Vous voulez aussi que les valeurs lues soient exploitables.
Solution
La solution consiste à lire ligne par ligne le fichier et à faire un export de
cette ligne. On peut aussi extraire ce qui est avant le = (Si on veut utiliser le nom de la variable)
L'exemple suivant utilise ksh mais on peut utiliser le shell qu'on veut. Cette exemple définit une méthode readFileProperties qui pour l'instant ne prend pas de paramêtre étant donné que c'est juste une méthode de test.
#!/bin/ksh
#-----------------------------
# Methode qui lit les proprietes d un fichier de properties.
#-----------------------------
readFileProperties()
{
FILE="test.properties"
test -f $FILE
if [ $? -ne 0 ];then
echo "Fichier de propriete inexistant:$FILE"
exit 1
fi
echo "Lecture..."
while read ligne
do
if echo "$ligne" |grep "=" 1>/dev/null
then
VARNAME=`echo $ligne |cut -f1 -d=`
#echo $VARNAME
VARVALUE=`grep "^$VARNAME=" $FILE`
export $VARVALUE
#echo "export $VARVALUE"
fi
done < $FILE echo "VAR1:$VAR1" echo "VAR2:$VAR2" echo "VAR3:$VAR3" echo "ALIAS:$ALIAS" echo "MAIL:$MAIL" } readFileProperties
CONF_SPECIFIC_FOLDER_PATH=`grep "VAR3=" ${test.properties} | cut -f 2 -d \=`
RépondreSupprimercomme cela tu récupère juste ce dont tu as besoin...