Signification ./ linux

Résolu
manager30 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
manager30 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
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.

5 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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
3
SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
 
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
2
jee pee Messages postés 41558 Date d'inscription   Statut Modérateur Dernière intervention   9 728
 
bonjour,

ce sont bien deux notions différentes :

./ signifie dans le répertoire courant

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


cdt
1
manager30 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   3
 
ok j'ai a peu pres compris mERCI
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
manager30 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   3
 
MERCI je vais relire pour bien comprendre ^^
0