cd ~
macht das gleiche wie
cd $HOME
das ist auch das gleiche wie
cd /home/tandu
Jedoch,
cd ~not-tandu
ändert sich zu /home/not-tandu
Ist das eine rein syntaktische Entscheidung? Wie wird das vom Kernel (oder der cdausführbaren Datei?) Gehandhabt? Gibt es einen Sonderfall für ~das Hinzufügen des Schrägstrichs, wenn alles andere weggelassen wird? Das heißt, ~/und ~wechseln Sie in das gleiche Verzeichnis, ist aber ~aein Verzeichnis auf. Dies gilt nicht für andere Verzeichnisse, in die Sie wechseln.
cdOhne Parameter funktioniert das wie cd ~. Wenn Sie ersetzen cdmit echokönnen Sie sehen , was der Ausdruck von der Shell erweitert wird.