सुपरग्रा ने प्राथमिक बिंदु का उत्तर दिया है, लेकिन यह आपको आश्चर्यचकित कर सकता है कि क्यों आप अपना पाठ वापस प्रतिबिंबित करते हैं, भले ही चर सेट नहीं किया गया हो। यही है, आपके पास अपने उपनाम के अंत में echo $x
है, और वास्तव में आप no
देखते हैं जब आप oh no
दर्ज करते हैं, लेकिन इसका मतलब यह नहीं है कि इको चर को प्रतिबिंबित कर रहा है।
वहाँ क्या हो रहा है कि echo
(खाली) चर प्रिंट कर रहा है, लेकिन फिर भी echo
"नहीं" भाग अलग बढ़ रहा है है। यदि आप alias tmp 'echo $1'
करते हैं और tmp hi
आज़माएं तो आप "हाय" प्रिंट करेंगे क्योंकि ऐसा लगता है कि आपने "$ 1 hi echo" किया था।
इसे और अधिक स्पष्ट रूप से देखने के लिए, alias tmp 'echo abc $1 def '
आज़माएं औरफिर से करें, और आप "abc def hi" प्रिंट करेंगे। दोबारा, यदि आप alias tmp 'echo $1 & which '
आज़माएं और इसे फिर से उपयोग करें, तब तक जब तक आपके पास hi
नामक कमांड नहीं है, तो "हाय: कमांड नहीं मिला" जैसे कुछ देखें। या यदि आप tmp ls
करते हैं तो आपको which ls
का आउटपुट दिखाई देगा।
एक और उदाहरण: देखने के लिए कि यह वास्तव में hi
निष्पादित करने के लिए जैसे कि यह एक आदेश है, जो खतरनाक है, तो आपको लगता है कि अपेक्षा नहीं थी, हो सकता है की कोशिश करता है थे कोशिश alias tmp 'echo $1 & '
और tmp hi
।
आश्चर्यजनक रूप से पर्याप्त, स्वीकार्य उत्तर पढ़ने के बाद मेरे पास यह प्रश्न था। –