मान लीजिए कि मेरे पास varबैश में एक चर है। मैं इसके लिए एक मूल्य प्रदान कर सकता हूं। उदाहरण के लिए, मैं इसे एक स्ट्रिंग बनाऊंगा:
var="Test"
मैं echoके नाम पर चाहता हूँ var, नहीं द्वारा आयोजित मूल्य var। (मैं बाद के साथ कर सकता हूं echo $var, लेकिन मैं वास्तव में पूर्व करना चाहता हूं।)
एसओ से इस सवाल का जवाब उपयोग करने के लिए कहता है echo ${!var}, लेकिन जब मैं ऐसा करता हूं कि मैं गूंजता है तो बस एक खाली लाइन देता है। उदाहरण के लिए, यह बैश स्क्रिप्ट
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
यह आउटपुट देता है:
Hi
Bye
हाय और बाय के बीच सिर्फ एक खाली लाइन के साथ , var के बजाय । मैं क्या गलत कर रहा हूं?
मैं Ubuntu 10.04.4 पर बैश 4.1.5 (1) चला रहा हूं ।
var=Test; Test=SO; echo ${!var}
echo var?