Je dois exécuter un programme installé sur / opt / godi / sbin (un répertoire personnalisé). Si j'ajoute ce répertoire à PATH, en ajoutant la ligne suivante à mon fichier .bashrc
export PATH=$PATH:/opt/godi/bin:/opt/godi/sbin
alors je peux essayer d’exécuter la commande très bien (sauf qu’elle échoue car elle nécessite sudo). Cependant, lorsque j'essaie d'utiliser sudo:
sudo godi_console
Je reçois l'erreur suivante
sudo: godi_console: command not found
L'inspection de la variable PATH après l'utilisation de sudo révèle qu'elle ne comprend pas le même PATH que l'utilisateur normal:
$ sudo sh
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Pourquoi le PATH n'est-il pas le même? Est-ce que je fais quelque chose de mal? Je suis sur Debian Jessie et, malheureusement, je ne peux pas contourner le problème en passant sudo le lien absolu à godi_console, car godi_console lui-même dépend également de la définition correcte de PATH.
secure_path
et / ou env_reset sont configurés comme c'est le cas dans de nombreux sudo
déploiements comme sur Debian.
sudo -E godi_console
.-E
signifie "préserver l'environnement".