Il est peu probable que l'on trouve une définition générale de cette notion dans le manuel de Bash. la spécification POSIX (section Résolution des noms de chemin) :
Le point spécial de nom de fichier fait référence au répertoire spécifié par son prédécesseur.
Quel est le prédécesseur si nous n'avons que des .
? J'ai mis l'accent sur la partie importante :
Si le nom de chemin ne commence pas par une barre oblique, le prédécesseur du premier nom de fichier du nom de chemin est considéré comme étant le répertoire de travail actuel du processus
En outre,
Un nom de chemin d'accès qui contient au moins un caractère autre qu'une barre oblique et qui se termine par une ou plusieurs barres obliques est résolu comme si un seul point ('.') était ajouté au nom de chemin d'accès.
Ainsi, lorsque vous tapez ./
il est résolu comme suit ./.
qui pointe essentiellement vers votre répertoire de travail actuel. Lorsque vous tapez quelque chose dans votre Shell et que vous appuyez sur Enter Le Shell essaiera d'exécuter la première partie comme une commande. (En gros, la première série de caractères jusqu'au premier espace blanc).
Il n'existe pas de commande ou de fichier exécutable appelé ./.
Il échouera donc et vous dira que ./
"est un répertoire". Intéressant, .
est une commande (il s'agit d'une fonction intégrée que l'on trouve également sous le nom de source
), de sorte que lorsque vous tapez simplement .
vous obtiendrez : bash: .: filename argument required
.