Ich habe ein Problem bei der Verwendung des Befehls "Exportieren"

12

Wenn ich sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" schreibe, erhalte ich folgende Fehlermeldung:

sudo: export: command not found

Was soll ich tun, um dieses Problem zu beheben?

Papa
quelle
Funktioniert das ohne sudo?
User128285
Wahrscheinlich sollten Sie im Befehl keine Anführungszeichen verwenden.
User128285
Der Export funktioniert aus irgendeinem Grund nicht mit Fisch-Bash
Raffael
So behalten Sie Umgebungsvariablen bei, wenn Sie sudo verwenden: stackoverflow.com/questions/8633461/…
Fox

Antworten:

9

Sie können keine Shell-Builtins mit verwenden sudo. Es wird nur der Befehl ausgeführt, der den gültigen Dateien entspricht sudo. Die korrekte Syntax für sudo lautet:sudo [options] [filename]

Export ist ein interner (eingebauter) Befehl der Bash-Shell und möglicherweise auch ein anderer.

Beachten Sie außerdem, dass es keinen Sinn macht, die Aktion von exportvia sudoauszuführen. Sie muss unter Ihrer Benutzer-ID ausgeführt werden, damit sie auf Ihre Shell und ihre untergeordneten Prozesse angewendet werden kann.

Wenn Sie dazu zum Root-Benutzer wechseln, müssen Sie den Rest Ihres Vorgangs als Root ausführen. Dies wird nicht empfohlen . Denn wenn Sie die Root-Shell verlassen, geht die Zuordnung von exportverloren.

Benoit
quelle
7

Werden Sie Root-Benutzer mit sudo -sund Ihrem Passwort. Geben Sie
dann Ihren Befehl ohne sudo ein: export PROXY_LOCAL_NET_IP = 10.113.35.108`

prophecy201
quelle
4

Sie können die Option sudo -E verwenden, um exportierte Variablen in einem sudo-Befehl zu verwenden

Die folgende Frage zum Stapelüberlauf enthält einige zusätzliche Details zur Verwendung von Umgebungsvariablen mit sudo

user596851
quelle