Bonjour et désolé pour mon anglais à l'avance.
J'ai besoin d'exécuter depuis la commande root comme
envVariable1=15 envVariable2=25 sudo -u user1 sudo -E myCommand
mais les variables d'environnement ne sont pas transmises à myCommand. Cela peut sembler illogique, mais il est nécessaire d’exécuter une commande à partir de la racine et avec sudo , elle sera utilisée dans les scripts. Comment puis-je contourner le problème?
linux
bash
environment-variables
sudo
HeroFromEarth
la source
la source
sudo
? Quel est le problème avecenvVariable1=15 envVariable2=25 sudo -E myCommand
? S'il y a une bonne raison pour la premièresudo
, il faut aussi une-E
. Sinon, si vous n'avez pas besoin de conserver d'autres variables d'environnement, ajoutez uneenv
commande à la dernièresudo
, comme danssudo -u user1 sudo env envVariable1=15 envVariable2=25 myCommand
.Réponses:
Je devrais taper
var1=1 var2=2 sudo -E -u user1 sudo -E myCommand
puis var1 et var2 seront disponibles pour user1.Merci à AFH de m'aider à trouver une réponse!
la source