Quelle est la différence entre l’affectation d’une variable telle que var=foo
et utiliser let comme let var=foo
? Ou des cas comme var=${var}bar
et let var+=bar
? Quels sont les avantages et les inconvénients de chaque approche?
let
fait exactement ce que (( ))
_, c'est pour les expressions arithmétiques. Il y a presque pas de différence entre let
et (( ))
.
Vos exemples ne sont pas valides. var=${var}bar
va ajouter Word bar
à la variable var
(opération sous forme de chaîne), let var+=bar
ne fonctionnera pas, car ce n’est pas une expression arithmétique:
$ var='5'; let var+=bar; echo "$var"
5
En fait, il IS est une expression arithmétique, si seule la variable bar
a été définie, sinon bar
est traité comme zéro.
$ var='5'; bar=2; let var+=bar; echo "$var"
7