J'essaie d'installer quelque chose et parmi les étapes il y avait celle-ci:
"Placez-le sur votre $PATH"
Qu'est-ce que ça veut dire? Qu'est-ce que c'est?
J'ai cherché sur ce site et sur Google, mais tout le monde le tient pour acquis!
J'essaie d'installer quelque chose et parmi les étapes il y avait celle-ci:
"Placez-le sur votre $PATH"
Qu'est-ce que ça veut dire? Qu'est-ce que c'est?
J'ai cherché sur ce site et sur Google, mais tout le monde le tient pour acquis!
Réponses:
Exécuter dans un terminal:
echo $PATH
ou
printf "%s\n" "$PATH"
ce que vous voyez est une liste de répertoires, ressemblant à:
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Si vous placez un exécutable dans l'un de ces répertoires, vous n'avez pas besoin de définir le chemin d'accès à l'exécutable / script, mais vous pouvez l'exécuter par son nom en tant que commande.
Les exécutables $PATHne devraient pas avoir d'extension de langue par convention (bien qu'ils fonctionnent)
Vous pouvez (définitivement) ajouter un répertoire à $PATHen ajoutant la ligne suivante à votre ~/.profilefichier (invisible par défaut, appuyez sur Ctrl+ Hdans le gestionnaire de fichiers pour le rendre visible):
export PATH=$PATH:/path/to/dir
(comme $PATH) peut être trouvé ici (merci pour les suggestions @Letizia)
$PATHest une variable d'environnement liée à l'emplacement du fichier .
Lorsque l'on tape une commande à exécuter, le système la recherche dans les répertoires spécifiés par PATHdans l'ordre spécifié.
Vous pouvez afficher les répertoires spécifiés en tapant echo $PATHdans le terminal.
Supposons qu'il existe un fichier exécutable foobar01.shsur /home/user/foo1/foo2/foobar01.shlequel vous souhaitez exécuter régulièrement. taper tout le "chemin" prendrait beaucoup de temps. Nous ajoutons donc le répertoire à la $PATHvariable et nous pouvons exécuter foobar.shdirectement sans même spécifier le chemin.
Vous pouvez l'ajouter $PATHen tapant la commande suivante
export PATH=$PATH:/home/user/foo1/foo2
Je suppose que vous venez d'un arrière-plan Windows (excuses si ce n'est pas vrai). En termes simples, un chemin (ou le chemin de recherche) est la liste des répertoires qui seront recherchés pour tout ce que vous tapez sur la ligne de commande. Si vous tapez une commande intégrée comme ls, il recherchera une liste de répertoires spécifiée. Vous pouvez rechercher votre chemin en tapant echo $ PATH. Voici une différence entre Windows et * nix: Par défaut, Windows recherche toujours le fichier exécutable dans le répertoire courant. Par exemple, si vous avez un fichier appelé uptime.bat dans c: \ myscripts, et que vous cd c: \ myscripts et tapez uptime, il s'exécutera. Cependant, dans * nix, le chemin sera consulté et l'exécutable trouvé (si disponible).
Si vous conservez vos scripts dans un répertoire appelé / home / teresa / scripts, pour exécuter ces scripts, vous devrez spécifier le chemin d'accès complet à ce répertoire. Exemple: / hone / teresa / checkHost. Une variante serait de cd / home / teresa puis de taper ./checkHost (notez le ./ ce qui signifie que vous demandez explicitement que le fichier soit exécuté à partir du répertoire courant.
Pour éviter cela, vous pouvez simplement taper
export PATH = $ PATH: / home / teresa / scripts
ce qui signifie qu'en plus du chemin qui existe déjà maintenant, recherchez également dans / hone / teresa / scripts. Cependant, le problème avec cela est qu'une fois que vous vous déconnectez, ce paramètre disparaîtra. Vous devez donc modifier le fichier caché ~ / .bashrc, y trouver la ligne PATH et l'ajouter en conséquence. Je suppose que vous utilisez bash. Dans le cas d'autres shells, la syntaxe et le fichier sont différents.
En tant que nouvel utilisateur, c'est très tentant d'avoir. dans le chemin de recherche, ce qui signifie essentiellement que rechercher également dans le répertoire courant. Cependant, cela n'est pas considéré comme une bonne pratique pour les raisons évoquées ailleurs.
HTH