मैं पहली बार तर्क के रूप में स्क्रिप्ट उपयोगकर्ता से एक चर के नाम के साथ चर बदल सकते हैं और मैं गूंज के मूल्य को वापस कंसोल के लिए चर ने कहा:इनपुट के रूप में एक चर के नाम प्राप्त करें और उस नाम
#!/bin/bash
variablename=$1
echo "The value of $variablename is: " ${!variablename}
यह बहुत अच्छा काम करता है!
मैं जो काम नहीं कर सकता वह यह है कि यदि मैं उस चर को उपयोगकर्ता से दूसरे तर्क के मान में बदलना चाहता हूं। एक सिंटैक्स त्रुटि वाला एक उदाहरण है:
#!/bin/bash
variablename=$1
echo "The value of $variablename is: " ${!variablename}
echo "I will now try to change the value into $2."
(!variablename}=$2
# The above line generates: {!variablename}=2: command not found
दूसरे शब्दों में: यदि यह संभव है, मैं कैसे एक चर नाम उपयोगकर्ता और दोनों पढ़ने (पहले से ही हल) से मिलता है और कहा चर करने के लिए लिख सकता हूँ?
नहीं, eval जाने का सही तरीका है। आपको $ 2 में रिक्त स्थान के बारे में चिंता करने की आवश्यकता हो सकती है, हालांकि - और एकल उद्धरण और डबल कोट्स और बैकस्लाश। –
मुझे जोर देने के लिए धन्यवाद मैं सही रास्ते पर हूं। यदि मैं किसी भी पुन: प्रयोज्य मूल्य का कुछ बना देता हूं तो मैं कुछ पैरामीटर सत्यापन करूंगा। फिलहाल मैं अधिकतर गहराई से समझने की कोशिश कर रहा हूं। :-) –