Ho un problema durante l'utilizzo del comando "export"


12

Quando inserisco sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" ottengo il seguente errore:

sudo: export: command not found

Cosa devo fare per risolvere questo problema?


Funziona senza sudo?
user128285

Probabilmente non dovresti usare le virgolette al comando.
user128285

l'esportazione non funzionerà con fish-bash per qualsiasi motivo
Raffael,

Come mantenere le variabili di ambiente quando si utilizza sudo: stackoverflow.com/questions/8633461/…
Mark Fox,

Risposte:


9

Non puoi usare i builtin della shell con sudo. Verrà eseguito solo il comando corrispondente a file validi sudo. La sintassi corretta per sudo è:sudo [options] [filename]

L'esportazione è un comando interno (incorporato) della shell Bash e forse anche un altro.

Inoltre, nota che non ha senso eseguire l'azione di exportvia sudo, deve essere eseguito con il tuo ID utente per essere applicabile alla tua shell e ai suoi processi figlio.

Se passi all'utente root per farlo, dovrai fare il resto della tua operazione come root: questo non è raccomandato . Perché se si esce dalla shell di root, l'assegnazione eseguita da exportandrà persa.


7

Diventa utente root con sudo -se la tua password.
Quindi inserisci il tuo comando senza sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`


4

È possibile utilizzare l'opzione sudo -E per utilizzare la variabile esportata in un comando sudo

La seguente domanda di StackOver presenta alcuni dettagli aggiuntivi su come utilizzare la variabile di ambiente con sudo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.