W linux bash istnieje coś podobnego do następującego kodu w PHP:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
tj. przypisujesz w jednym zdaniu odpowiednią wartość do 3 różnych zmiennych.
Powiedzmy, że mam funkcję bash, myBashFuntion
która zapisuje na stdout łańcuch „qwert asdfg zxcvb”. Czy można zrobić coś takiego:
(var1 var2 var3) = ( `myBashFuntion param1 param2` )
Część po lewej stronie znaku równości nie jest oczywiście poprawną składnią. Próbuję tylko wyjaśnić, o co proszę.
Co jednak działa, to:
array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}
Ale tablica indeksowana nie jest tak opisowa, jak zwykłe nazwy zmiennych.
Mogłem jednak po prostu zrobić:
var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}
Ale to są jeszcze 3 stwierdzenia, których wolałbym uniknąć.
Szukam tylko składni skrótu. Czy to możliwe?