जब आप एक चर विस्तार को निर्विवाद छोड़ देते हैं, उदाहरण के लिए $VotePedro
, निम्न चरण किए जाते हैं:
- चर का मान देखें।
- व्हॉट्सएप के प्रत्येक ब्लॉक में मूल्य को स्ट्रिंग्स की सूची में विभाजित करें। अधिक सामान्यतः, विभाजक
IFS
चर के मूल्य में वर्ण होते हैं ; डिफ़ॉल्ट रूप से वह स्थान, टैब और न्यूलाइन है।
- वाइल्डकार्ड पैटर्न के रूप में सूची के प्रत्येक तत्व की व्याख्या करें; प्रत्येक तत्व के लिए, यदि पैटर्न कुछ फ़ाइलों से मेल खाता है, तो उस तत्व को मिलान फ़ाइल नामों की सूची से बदल दें।
इस प्रकार आप एक स्ट्रिंग को व्हॉट्सएप-सीमांकित तत्वों (डिफ़ॉल्ट मान मानकर IFS
) में विभाजित कर सकते हैं, वाइल्डकार्ड विस्तार को बंद कर सकते हैं और एक चर का विस्तार कर सकते हैं जिसका मूल्य उद्धरण के बाहर स्ट्रिंग है।
VotePedro="Vote for Pedro"
set -f
votePedroArray=($VotePedro)
set +f
for i in "${votePedroArray[@]}"; do …
आप सीधे उपयोग के बिंदु पर विभाजन कर सकते हैं; यह ऐसे गोले के रूप में भी काम करेगा जिसमें sh नहीं है
VotePedro="Vote for Pedro"
set -f
for i in ${votePedro}; do
set +f
…
done
set +f