गतिशील उपनामों को परिभाषित करने के लिए मूल्यांकन में देरी के लिए एकल-उद्धरण का उपयोग करना। यहां एक उपनाम है, tजिसका उपयोग मौजूदा ssh एजेंट प्रक्रिया में एक नया शेल संलग्न करने के लिए किया जाता है, जिसे एक उपनाम के साथ शुरू किया गया था, जो ssh-startएक होमडियर में एक फ़ाइल में शेल कोड लिखता है:
mymistress:~> which ssh-start
ssh-start: aliased to eval `ssh-agent | tee ~/.ssh/ssh-agent.out` ; ssh-add ~/.ssh/id_rsa
mymistress:~> grep "alias t" .zshrc
alias t="eval `cat ~/.ssh/ssh-agent.out`"
mymistress:~> which t
t: aliased to eval SSH_AUTH_SOCK=/tmp/ssh-nZBZp29804/agent.29804; export SSH_AUTH_SOCK;\nSSH_AGENT_PID=29805; export SSH_AGENT_PID;\necho Agent pid 29805;`
यह परिभाषा tखराब है क्योंकि यह नए सिरे से नई जानकारी को ssh-startनजरअंदाज करने का कारण बनता है। tमेरे .zshrc में एकल रूप से उद्धृत की जाने वाली उपनाम की परिभाषा को बदलना बेहतर व्यवहार देता है:
mymistress:~> grep "alias t" .zshrc
alias t='eval `cat ~/.ssh/ssh-agent.out`'
mymistress:~> source ~/.zshrc
mymistress:~> which t
t: aliased to eval `cat ~/.ssh/ssh-agent.out`
दोहरे उद्धरण चिह्नों के प्रभाव (कमांड या पर्यावरण चर के तत्काल स्थान पर विस्तार) बनाम एकल उद्धरण (आदेशों और चर का विलंबित मूल्यांकन) दिखाते हुए, के tरूप में प्रदान की गई परिभाषा के विस्तार पर ध्यान दें which t।