web-dev-qa-db-fra.com

J'ai un problème lors de l'utilisation de la commande "export"

Quand je mets Sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" j'obtiens l'erreur suivante:

Sudo: export: command not found

Que dois-je faire pour résoudre ce problème?

12
Dady

Vous ne pouvez pas utiliser les fonctions intégrées Shell avec Sudo. Seules les commandes correspondant à des fichiers valides seront exécutées via Sudo. La syntaxe correcte pour Sudo est la suivante: Sudo [options] [filename]

L'exportation est une commande interne (intégrée) du shell Bash et éventuellement d'une autre.

Notez également qu'il est inutile de faire l'action de export via Sudo, elle doit être effectuée sous votre ID utilisateur pour pouvoir s'appliquer à votre Shell et à ses processus enfants.

Si vous passez à l'utilisateur root, vous devrez effectuer le reste de votre opération en tant qu'utilisateur root: cela n'est pas recommandé. En effet, si vous quittez le shell racine, l’affectation effectuée par export sera perdue.

9
Benoit

Devenez utilisateur root avec Sudo -s et votre mot de passe.
Entrez ensuite votre commande sans Sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`

7
prophecy201

Vous pouvez utiliser l'option Sudo -E pour utiliser une variable exportée dans une commande Sudo

La question suivante question de stackoverflow contient des informations supplémentaires sur l'utilisation de la variable d'environnement avec Sudo.

4
user596851