मैं एक विशेष स्ट्रिंग पर चर प्रतिस्थापन का उपयोग करना चाहूंगा जिसे मैं एक कमांड के माध्यम से एक्सेस करता हूं। उदाहरण के लिए, यदि मैं अपने क्लिपबोर्ड में कुछ कॉपी करता हूं, तो मैं इसे इस तरह एक्सेस कर सकता हूं।
$ xclip -o -selection clipboard
Here's a string I just copied.
अगर मैं इसे किसी वैरिएबल को असाइन करता हूं, तो मैं इस पर वैरिएबल प्रतिस्थापन कर सकता हूं।
$ var=$(xclip -o -selection clipboard)
$ echo $var
Here's a string I just copied.
$ echo ${var/copi/knott}
Here's a string I just knotted.
हालांकि, चर को असाइन किए बिना चर प्रतिस्थापन करने का एक तरीका है? वैचारिक रूप से, कुछ इस तरह।
$ echo ${$(xclip -o -selection clipboard)/copi/knott}
bash: ${$(xclip -o -selection clipboard)/copi/knott}: bad substitution
यह सिंटैक्स विफल हो जाता है, क्योंकि var
एक चर नाम होना चाहिए, न कि एक स्ट्रिंग।
bash
। (और मुझे फिर से पलायन करने की ओर धकेलता हैzsh
।)