~$HOMEकई गोले द्वारा प्रदान किए जाने के लिए एक उपनाम है , लेकिन $HOMEअधिक सार्वभौमिक है। $HOMEवास्तव में शेल को पर्यावरण चर घर में डालने (स्थानापन्न) करने के लिए कहता है। काफी अलग-अलग पर्यावरणीय चर हैं जिन्हें प्रतिस्थापित किया जा सकता है, envसूची के लिए प्रयास करें । ध्यान दें कि ~हमेशा पहचाना नहीं जाता है जब यह एक शब्द की शुरुआत में नहीं होता है। तुलना के लिए इन दो आदेशों का प्रयास करें:
ls /~
ls /$HOME
पहले एलएस निष्पादन योग्य के लिए पास हो जाता है, /~फिर ~रूट डायरेक्टरी नामक एक फाइल को देखने की कोशिश करता है , दूसरा फैलता है $HOMEऔर बन जाता है //home/userजो तब कमांड-लाइन तर्क के रूप में एलएस निष्पादन योग्य के लिए पारित हो जाता है। सभी POSIX सिस्टम (POSIX, UNIX और Linux सिस्टम कैसे काम करते हैं, इसके लिए मानक है) एकाधिक स्लैश को एक स्लैश के समान माना जाता है, इसलिए //home/userयह कहने के समान है /home/user। ~usernameपासवार्ड फ़ाइल में उपयोक्तानाम को देखने और उनके होम डायरेक्टरी को वापस करने के लिए शेल को बताने के लिए एक शॉर्टकट है। कोई समान पर्यावरण चर नहीं है। ये सभी प्रतिस्थापन शेल द्वारा किए जाते हैं और उनमें से अधिकांश द्वारा समर्थित होते हैं, लेकिन केवल पर्यावरण चर जैसे $HOMEअन्य शेल द्वारा समर्थित होने की गारंटी है। इसके अलावा,cdवास्तव में एक अंतर्निहित कमांड है। यह एक विशेष निर्देश है जो शेल को निर्देशिकाओं को बदलने के लिए कहता है। यह अन्य शेल बिल्ट-इन की तरह नहीं है जिसे एक अलग निष्पादन योग्य के रूप में लागू किया जा सकता echoहै क्योंकि यह शेल प्रक्रिया की एक मूलभूत विशेषता को बदलने के लिए उपयोग किया जाता है। echoकेवल प्रदर्शन के कारणों के लिए निर्मित एक शेल है, लेकिन UNIX के अच्छे पुराने दिनों में, यह केवल तब ही उपलब्ध था जब यह स्वयं निष्पादन योग्य हो /bin/echo।