Существует ли в Linux Баш нечто похожее на следующий код в PHP:Linux Баш: Multiple присвоение переменной
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
т.е. вы назначаете в одном предложении соответствующее значение для 3-х различных переменных.
Предположим, у меня есть функция bash myBashFuntion
, которая записывает в stdout строку «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 заявления, что я предпочел бы избежать.
Я просто ищу синтаксис ярлыка. Является ли это возможным?
Почему я не думал об этом раньше. Спасибо – GetFree
Спасибо очень просто и interisting. – pharaoh
Это то, что я ищу, люблю так много, ;-) – Alcott