[Script Bash] Doubles quotes mandatory (selon contexte) sinon l'expansion de variable foire !
Bonjour,
si quelqu'un pouvait m'expliquer...
Dans un script tout bête (Debian 32 bits, Bash 4.2.37), j'ai :
Code:
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:
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,