क्या बैश चर बनाने और उन्हें लूप के माध्यम से मान प्रदान करने का एक तरीका है?
की तर्ज पर कुछ:
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
संपादित करें: यह इंगित करने के लिए @Costas और @mdpc के लिए धन्यवाद एक सूची के लिए एक खराब विकल्प होगा; सवाल केवल सैद्धांतिक है।
1
नोट: ध्यान रखें कि आपका सेटअप केवल वर्तमान प्रक्रिया में परिवर्तन / संशोधन / असाइन करेगा और यदि आप इसे एक कमांड के रूप में निष्पादित करते हैं, तो मूल प्रक्रिया नहीं। आप 'का उपयोग करके फ़ाइल को स्रोत बना सकते हैं।' वर्तमान प्रक्रिया के भीतर ऐसा करने के लिए कमांड (EX: new_vars)।
—
mdpc
ठीक है, लेकिन ऊपर काम वास्तव में नहीं चलता है;
—
टॉक्सिफा
var"$c"
इसे तोड़ता है। @ कोस्टस का उत्तर दर्शाता है कि एक ही सूची चर के लिए कई मान कैसे निर्दिष्ट करें - मैं सिर्फ सैद्धांतिक रूप से पूछ रहा हूं कि क्या चर वास्तव में एक लूप के साथ उत्पन्न हो सकते हैं ।
हम्म् ... इतना जटिल क्यों, बस एक नए चर का उपयोग करके इसे बिना किसी धूमधाम के बनाता है।
—
mdpc