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?
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.
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`
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.