Существует ли в linux bash нечто похожее на следующий код в PHP:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
т.е. Вы назначаете в одном предложении соответствующее значение 3 различным переменным.
Допустим, у меня есть функция bash myBashFuntion
, которая пишет в стандартный поток строку "qwert asdfg zxcvb".
Можно ли сделать что-то вроде:
(var1 var2 var3) = ( `myBashFuntion param1 param2` )
Часть слева от знака равенства, конечно, не является допустимым синтаксисом. Я просто пытаюсь объяснить, что я прошу.
Однако работает следующее:
array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}
Но индексированный массив не так описателен, как простые имена переменных.
Тем не менее, я мог бы просто сделать:
var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}
Но это еще 3 утверждения, которых я бы предпочел избегать.
Я просто ищу синтаксис ярлыка. Возможно ли это?