Menggunakan kutipan tunggal untuk menunda evaluasi berfungsi untuk mendefinisikan alias dinamis juga. Berikut ini alias,, tdigunakan untuk melampirkan shell baru ke proses ssh agent yang ada, yang dimulai dengan alias ssh-startyang menulis kode shell ke file di homedir:
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;`
Definisi titu buruk karena menyebabkan informasi baru dari tahap awal ssh-startdiabaikan. Mengubah definisi alias tuntuk dikutip secara tunggal di .zshrc saya memberikan perilaku yang jauh lebih baik:
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`
Perhatikan perluasan definisi tseperti yang disediakan oleh which t, yang menunjukkan efek tanda kutip ganda (ekspansi langsung di tempat atau variabel lingkungan) vs tanda kutip tunggal (evaluasi tertunda perintah dan variabel).