PHP में निम्न कोड के समान कुछ लाइन बैश में मौजूद है:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
यानी आप एक वाक्य में 3 अलग-अलग वेरिएबल्स के लिए एक ही मूल्य प्रदान करते हैं।
मान लीजिए कि मेरे पास बैश फ़ंक्शन है 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 और कथन हैं जिनसे मैं बचना चाहूंगा।
मैं सिर्फ एक शॉर्टकट सिंटैक्स की तलाश में हूं। क्या यह संभव है?