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 $PATH
ne devraient pas avoir d'extension de langue par convention (bien qu'ils fonctionnent)
Vous pouvez (définitivement) ajouter un répertoire à $PATH
en ajoutant la ligne suivante à votre ~/.profile
fichier (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)
$PATH
est 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 PATH
dans l'ordre spécifié.
Vous pouvez afficher les répertoires spécifiés en tapant echo $PATH
dans le terminal.
Supposons qu'il existe un fichier exécutable foobar01.sh
sur /home/user/foo1/foo2/foobar01.sh
lequel vous souhaitez exécuter régulièrement. taper tout le "chemin" prendrait beaucoup de temps. Nous ajoutons donc le répertoire à la $PATH
variable et nous pouvons exécuter foobar.sh
directement sans même spécifier le chemin.
Vous pouvez l'ajouter $PATH
en 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