• [^] # Re: Execution

    Posté par . En réponse au message Signification de "./". Évalué à 3.

    Plus précisément :
    "." désigne le répertoire courant ('ls -a' donne en plus des fichiers "." et ".." qui sont le rép courant et le rép parent. D'où le "cd .."). Et "/" est le séparateur.

    Pour lancer un programme, le shell a besoin de son nom et de son chemin.

    Si on tape le nom sans chemin, le shell le cherche dans les répertoires de PATH.
    Si on met un chemin, 2 cas :
    - chemin absolu. par ex "/usr/bin/toto". Pas de problème, avec le chemin absolu le shell sait où se trouve le binaire.
    - chemin relatif : foo/bar/toto. La recherche se fait par rapport au répertoire courant.

    Donc si "." n'est pas dans le PATH - le cas le plus frequent -, pour lancer un script du répertoire courant la syntaxe la plus courte est bien "./toto" - ici on est dans le dernier cas, recherche par rapport au répertoire courant, le chemin final étant "/le/rep/courant/" + "./toto", cad "/le/rep/courant/./toto" Le "." ici est sans effet, on boucle en fait dans le même répertoire.