Bonjour,
J'ai un petit souci. J'ai un fichier paramètre que je parcours avec un while pour en récupérer les paramètre nécessaire à l'exécution d'un script.
Dans ce fichier j'ai des chemins de définis pour la création de fichiers log, travail ...
Le soucis c'est que j'aimerais pouvoir mettre par exemple $HOME/travail dans mon fichier paramètre mais cela ne fonctionne par car il ne substitut pas $HOME par /usr/toto par exemple.
Voila un exemple du fichier paramètre :
Et la boucle que j'utilise pour le décodage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 blablabla log_dir=$HOME/travail/log work_dir=$HOME/work blablabla
Dans l'état actuel si j'affiche dirlog j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 while read line do # Remove the carriage return from $line line=`echo $line | tr -d '\r\n'` # decode the line field=`echo $line | awk -F "=" '{print $1}'` value=`echo $line | awk -F "=" '{print $2}'` case $field in log_dir ) dirlog=$value;; work_dir ) dirwork=$value;; ... esac done < $parameter_file
Alors que je souhaite /usr/toto/travail/log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo $dirlog $HOME/travail/log
J'espère que j'ai été assez clair.
Qui aurait une solution svp ?
Merci.
PS : Si cette réponse a déjà été donnée désolé pour le doublon, mais je ne l'ai pas trouvée.
Partager