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


12

Lorsque 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?


Ça marche sans sudo?
user128285

Vous ne devriez probablement pas utiliser de guillemets dans la commande.
user128285

l'exportation ne fonctionnera pas avec fish-bash pour une raison quelconque
Raffael

Comment conserver les variables d'environnement lors de l'utilisation de sudo: stackoverflow.com/questions/8633461/…
Mark Fox

Réponses:


9

Vous ne pouvez pas utiliser les commandes internes de shell avec sudo. Seule la commande correspondant aux fichiers valides sera exécutée sudo. La syntaxe correcte pour sudo est:sudo [options] [filename]

L'exportation est une commande interne (intégrée) du shell Bash et peut-être aussi une autre.

Notez également que cela n'a aucun sens de faire l'action de exportvia sudo, cela doit être fait sous votre ID utilisateur pour être applicable à votre shell et à ses processus enfants.

Si vous passez à l'utilisateur root pour ce faire, vous devrez effectuer le reste de votre opération en tant que root: ce n'est pas recommandé . Parce que si vous quittez le shell racine, l'affectation effectuée par exportsera perdue.


7

Devenez root avec sudo -set votre mot de passe.
Entrez ensuite votre commande sans sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`


4

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

La question stackoverflow suivante contient des détails supplémentaires sur la façon d'utiliser la variable d'environnement avec sudo

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.