Entspricht der export-Befehl in Windows

Ich folge einer Dokumentation und führe einige Befehle in der Windows 10-Eingabeaufforderung aus:

export OPENAI_LOG_FORMAT='stdout,log,csv,tensorboard'
export OPENAI_LOGDIR=path/to/tensorboard/data

tensorboard --logdir=$OPENAI_LOGDIR

Ich habe herausgefunden, dass export ein Unix-Befehl ist und das Äquivalent in Windows setx ist. Ich habe die ersten beiden Befehle ausgeführt und als ich den dritten Befehl ausprobiert habe, wurde $OPENAI_LOGDIR nicht richtig erkannt. Kann jemand mit dem Äquivalent von diesen in Windows helfen?

Author: phuclv, 2019-11-08

3 answers

setx ist nicht das Gegenstück von Linux export in Windows. export stellt die Variable nur vorübergehend der aktuellen Shell und ihren untergeordneten Prozessen zur Verfügung, während setx die Variable dauerhaft speichert zu jeder Benutzer oder Systemprozess in der Zukunft.

Sie hat nicht alle zeigen die real-Befehle, die Sie verwendet, also auf der Grundlage der Kommentare, die ich denke, Sie lief diese

setx OPENAI_LOG_FORMAT 'stdout,log,csv,tensorboard'
setx OPENAI_LOGDIR path/to/tensorboard/data
tensorboard --logdir=$OPENAI_LOGDIR

Was absolut falsch ist

Der erste setx ist soll nur einmal ausgeführt werden, wenn Sie also die Umgebung für die aktuelle Sitzung festlegen möchten, müssen Sie set anstelle von setx. Wenn Sie die Variable dauerhaft festlegen möchten, müssen Sie die Shell trotzdem neu starten, damit die Änderungen zutreffen, und den Befehl niemals erneut ausführen

Außer ist ein einfaches Anführungszeichen kein Anführungszeichen in cmd Sie müssen also '' entfernen und stdout,log,csv,tensorboard oder "stdout,log,csv,tensorboard" wenn Ihr Programm das Entfernen von Anführungszeichen selbst durchführt

Und schließlich Variablen in auf cmd wird mit %% anstelle von $ wie bash zugegriffen, daher müssen Sie die letzte Zeile in tensorboard --logdir=%OPENAI_LOGDIR%

Dies ist immer noch eine Vermutung, bis Sie genügend Informationen in der Frage angeben

 5
Author: phuclv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-29 04:12:44

Sie können dies versuchen:

In PowerSehll

$env:OPENAI_LOGDIR="path/to/tensorboard/data"

Im cmd -

set OPENAI_LOGDIR=path/to/tensorboard/data
 2
Author: Mariem Jab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-02-02 06:46:21

Öffnen Sie Ihren computer -

  1. Suche nach diesem PC-Symbol
  2. Klicken Sie mit der rechten Taste auf, um Eigenschaften auszuwählen.
  3. Klicken Sie auf Erweiterte Systemeinstellungen (linker Teil)
  4. Klicken Sie auf " Umgebungsvariablen (rechts-unten)
  5. Fügen Sie eine neue Systemvariable hinzu und speichern Sie die Änderungen

Jetzt funktioniert es für alle Benutzer. Öffnen Sie zum Testen die cmd und geben Sie echo %your_variable%

Weitere Informationen finden Sie unter Was sind PATH und andere Umgebungsvariablen und wie kann ich festlegen oder verwenden Sie sie?

 0
Author: Mauro Matsudo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-11-14 19:55:36