Existe no linux bash algo semelhante ao seguinte código em PHP:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
ou seja, você atribui em uma frase um valor correspondente a 3 variáveis diferentes.
Digamos que eu tenha a função bash myBashFuntion
que grava em stdout a string "qwert asdfg zxcvb". É possível fazer algo como:
(var1 var2 var3) = ( `myBashFuntion param1 param2` )
A parte à esquerda do sinal de igual não é uma sintaxe válida, é claro. Só estou tentando explicar o que estou pedindo.
O que funciona, porém, é o seguinte:
array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}
Mas uma matriz indexada não é tão descritiva quanto nomes de variáveis simples.
No entanto, eu poderia apenas fazer:
var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}
Mas essas são mais 3 afirmações que prefiro evitar.
Estou apenas procurando uma sintaxe de atalho. É possível?