[bash] set avec guillemets protecteurs
Bonjour,
J'ai un premier script qui me sort 2 chaînes de caractères, éventuellement protégées par des guillemets si elles contiennent un espace.
Dans un autre script, j'ai besoin d'affecter ces chaînes de caractères à deux variables.
J'ai essayé de récupérer ces chaînes dans $1 et $2 avec la commande set :
Code:
set -- $(./script1)
Mais set traite les guillemets comme des caractères normaux...
comme le montrent les exemples
Code:
1 2
| set -- $(echo "AZE RTY UIO") ; echo "$2"
RTY |
Mais
Code:
1 2
| set -- $(echo "AZE \"RT Y\" UIO") ; echo "$2"
"RT |
Pourtant c'est bien la commande set qui permet à bash de récupérer les paramètres positionnels d'une commande et ceux-ci peuvent bien être protégés par des guillemets. Donc il doit y avoir moyen de faire en sorte que set respecte ces guillemets.
Voyez-vous comment faire ?