Bonjour,

si quelqu'un pouvait m'expliquer...

Dans un script tout bête (Debian 32 bits, Bash 4.2.37), j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
inisection=fixes24
lazversion=lazarus14
#test1
lazdir=$lazversion_$inisection   # foire grave
#test2
lazdir="$lazversion"_$inisection   # doubles quotes mandatory sinon '$lazversion_' pas pris en compte
 
echo $lazversion
echo $lazdir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
lazarus14
fixes24 <-- sans double quotes
lazarus14_fixes24 <-- avec
Si la double quote fermante est après l'underscore ou après $inisection, ça foire pareil.

Au départ je ne voyais pas la nécessité de double quoter mes variables puisque je sais qu'elles ne sont pas vides.
Et même si elle était vide, cette variable $lazversion (ce qui n'est pas le cas, confirmé par l'echo), je ne vois pas comment/pourquoi l'underscore qui la suit disparaît...

Merci de votre explication,