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 -
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.
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.
A voir également:
- Linux signification
- ^^ Signification message ✓ - Forum Mobile
- Livre catégorie 8 signification ✓ - Forum Loisirs / Divertissements
- Signification :p - Forum Mail
- Signification smiley :3 ✓ - Forum Loisirs / Divertissements
- Linux reader - Télécharger - Stockage
5 réponses
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
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
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
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
bonjour,
ce sont bien deux notions différentes :
./ signifie dans le répertoire courant
../ signifie dans le répertoire père
cdt
ce sont bien deux notions différentes :
./ signifie dans le répertoire courant
../ signifie dans le répertoire père
cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question