J'ai remarqué que parfois les scripts wrapper utilisent ${1:+"[email protected]"}
pour les paramètres plutôt que simplement "[email protected]"
.
Par exemple, http://svn.macosforge.org/repository/macports/trunk/dports/editors/vim-app/files/gvim.sh utilise
exec "$binary" $opts ${1:+"[email protected]"}
Quelqu'un peut-il briser ${1:+"[email protected]"}
vers le bas en anglais et expliquer pourquoi ce serait un avantage sur plaine "[email protected]"
?
Ah ah. Oui, au moins selon http://google.com/codesearch la notation que vous avez mentionnée est beaucoup plus commune. Je vois 191 000 résultats pour $ {1 + "$ @"} (c'est-à-dire pas de deux-points) contre 173 résultats pour $ {1: + "$ @"}.Bien sûr, la citation de "homme bash" a deux points. Alors peut-être que l'utilisation du côlon n'est pas un bug. . . –
Le deux-points est un test différent - il cherche une chaîne non vide. Il est le plus souvent utilisé en relation avec un var var qui doit avoir une valeur: $ {ENVVAR: + "- value = $ ENVVAR"} ou autre. Cela crée un argument -value = quel que soit si ENVVAR est défini sur une chaîne non vide. –