Disons que j'ai un script en train de faire:
some-command "$var1" "$var2" ...
Et, dans le cas qui var1
est vide, je préfère qu'il soit remplacé par rien au lieu de la chaîne vide, de sorte que la commande exécutée soit:
some-command "$var2" ...
et pas:
some-command '' "$var2" ...
Existe-t-il un moyen plus simple que de tester la variable et de l'inclure conditionnellement?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
Y a-t-il une substitution de paramètres qui peut s'étendre à rien en bash, zsh ou similaire? Je pourrais toujours vouloir utiliser la globalisation dans le reste des arguments, donc désactiver cela et ne pas citer la variable n'est pas une option.
man
page? (-;