มีอยู่ใน linux bash ซึ่งคล้ายกับโค้ดต่อไปนี้ใน PHP:
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 ข้อความที่ฉันต้องการหลีกเลี่ยง
ฉันกำลังมองหาไวยากรณ์ทางลัด เป็นไปได้ไหม?