Signification ./ linux

Résolu
Bonjour,

Je voulais jsute savoir ce que siginifiat ./ en linux

exemple:

On prépare les variables que l’on vient de définir et on nettoie le répertoire des clefs :
. ./vars
./clean-all

pourquoi desfois . . / et parfois ./ ?

Merci de répondre mm si ça peut vous paraitre bete.
Configuration: Linux Debian
Epiphany 2.14

5 réponses

  1. Contributeur
    Salut,

    Il y a un espace entre les deux points dans ". ./vars", et je ne crois pas que tu l'aies fait par erreur, compte tenu du contexte où tu dis que tu fixes d'abord les variables (dans "vars").

    1.

    Je pense que tu parles de fichiers utilisés dans le contexte de EASY-RSA.

    "vars" est un fichier qui comporte des variables d'environnement qui doivent être exportées et actives dans l'environnement dans lequel tu travailles en ligne de commande. Par conséquent, "vars" ne doit pas être lancé dans un processus indépendant du bash dans lequel tu te trouves déjà en ligne de commande (sinon les variables ne seraient initialisées que dans le processus lancé et se termineraient avec le processus).

    . ./vars

    Va avoir pour effet d'inclure le contenu de fichier "vars" du répertoire courant dans le contexte du shell actuel sans lancer un autre processus.

    Si tu édites le fichier "vars", tu verras qu'il ne comporte pas une ligne initiale de la forme "#!/usr/local/bin/bash". D'ailleurs, il n'est pas nécessaire qu'il soit exécutable.

    2.

    Par contre, ./clean-all lance simplement l'exécutable, qui est bien doté de la ligne initiale "#!/usr/local/bin/bash" et s'exécute dans son propre processus.

    Tu noteras que ce script a, lui aussi, besoin des variables d'environnement définies dans "vars". Pour faire cela, il fait une inclusion du contenu du fichier "vars" avec la commande

    source vars

    La commande "." et "source" sont synonymes.

    https://ss64.com/bash/source.html

    Dal
    1. Modérateur
      bonjour,

      ce sont bien deux notions différentes :

      ./ signifie dans le répertoire courant

      ../ signifie dans le répertoire père

      cdt
      1. salut,
        c'est des adressages relatifs.
        ./ ça veut dire que tu pars du répertoire courant dans lequel tu te situe
        ../ ça veut dire que tu remonte d'un cran dans ton arborescence

        par exemple, tu as un répertoire root, puis dedan, 2 sous répertoires : subroot1 et subroot2, avec dans chacun d'eux un fichier toto.txt
        si tu es dans subroot1 et que tu fais ./toto.txt, ça veut dire que tu appelle ton fichier toto.txt qui est dans ton répertoire subroot1
        si tu veux appeler celui dans subroot2, il faut remonter d'un cran pour redescendre dans subroot2, et pour ça, tu fais :
        ../subroot2/toto.txt