cd ~
fa la stessa cosa di
cd $HOME
che è anche lo stesso di
cd /home/tandu
Tuttavia,
cd ~not-tandu
cambia in /home/not-tandu
È una scelta puramente sintattica? Come viene gestito dal kernel (o cd
dall'eseguibile?) Esiste un caso speciale per ~
aggiungere la barra se tutto il resto viene omesso? Vale a dire, ~/
e ~
passare alla stessa directory, ma ~a
è una directory su. Lo stesso non si può dire per qualsiasi altra directory in cui si cambia.
cd
senza parametri funziona come cd ~
. Se lo sostituisci cd
con echo
puoi vedere a che cosa l'espressione viene espansa dalla shell.