के लिए बैश में चर का उपयोग कैसे करें लूप के लिए बैश में कोई चर का उपयोग कैसे करता है? अगर मैं सिर्फ पाश के लिए एक मानक का उपयोग करें, यह मैं क्या उम्मीदलूप
for i in {0..3}
do
echo "do some stuff $i"
done
यह ठीक काम करता है नहीं करता है। यह 4 गुना, 0 से 3 समावेशी, मेरे संदेश को प्रिंट करने और अंत में गिनती डालने के माध्यम से loops।
do some stuff 0
do some stuff 1
do some stuff 2
do some stuff 3
जब मैं पाश के लिए निम्नलिखित के साथ एक ही बात की कोशिश, यह एक स्ट्रिंग के बराबर करने, जो कि मैं क्या नहीं करना चाहता है।
length=3
for i in {0..$length}
do
echo "do something right $i"
done
उत्पादन:
do something right {0..3}
मैं
for i in {0.."$length"} and for i in {0..${length}} (both output was {0..3})
और
for i in {0..'$length'} (output was {0..$length})
की कोशिश की है और वे दोनों मैं क्या जरूरत नहीं करते हैं। उम्मीद है कि कोई मेरी मदद कर सकता है। लूप के लिए किसी भी बाश विशेषज्ञ की मदद के लिए अग्रिम धन्यवाद।
+1 'eval' के प्रशंसक नहीं है, लेकिन इस तरह के उत्तर में आप विभिन्न विकल्पों को पसंद करते हैं। –
सी-स्टाइल लूप स्पष्ट रूप से सबसे अच्छा विकल्प है। –