Existe-t-il dans linux bash quelque chose de similaire au code suivant en PHP :
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
c'est-à-dire que vous attribuez en une seule phrase une valeur correspondante à 3 variables différentes.
Disons que j'ai la fonction bash myBashFuntion
qui écrit sur stdout la chaîne "qwert asdfg zxcvb". Est-il possible de faire quelque chose comme :
(var1 var2 var3) = ( `myBashFuntion param1 param2` )
La partie à gauche du signe égal n'est pas une syntaxe valide, bien sûr. J'essaie simplement d'expliquer ce que je demande.
Ce qui fonctionne, en revanche, c'est ce qui suit :
array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}
Mais un tableau indexé n'est pas aussi descriptif que les noms de variables ordinaires.
Cependant, je pourrais juste faire :
var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}
Mais ce sont trois autres déclarations que je préférerais éviter.
Je cherche juste un raccourci syntaxique. Est-ce possible ?