相当于 Windows 中的导出命令

sin*_*adi 9 linux bash export command-line windows-10

我正在关注文档并在 Windows 10 命令提示符下执行一些命令:

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

tensorboard --logdir=$OPENAI_LOGDIR
Run Code Online (Sandbox Code Playgroud)

我认为这export是一个 Unix 命令,而 Windows 中的等效命令是setx. 我已经执行了前两个命令,当我尝试第三个命令时,$OPENAI_LOGDIR没有正确检测到。有人可以帮助解决 Windows 中的这些问题吗?

phu*_*clv 8

setx不是Linux的的对应export在Windows中。export只是使变量暂时可供当前 shell 及其子进程使用,在将来setx将变量永久存储给每个用户或系统进程

你没有显示你使用的所有真实命令,所以根据评论我猜你运行了这些

setx OPENAI_LOG_FORMAT 'stdout,log,csv,tensorboard'
setx OPENAI_LOGDIR path/to/tensorboard/data
tensorboard --logdir=$OPENAI_LOGDIR
Run Code Online (Sandbox Code Playgroud)

这是完全错误的

Firstsetx应该只运行一次,因此如果你想为当前会话设置环境,那么你必须使用set而不是setx. 如果您确实想永久设置变量,那么您仍然需要重新启动 shell 以应用更改,并且永远不要再次运行该命令

除了单引号不是 cmd 中的引用字符,因此您需要删除''和使用stdout,log,csv,tensorboard,或者"stdout,log,csv,tensorboard"如果您的程序自行删除引号

最后,cmd 中的变量是用%%而不是$像 bash访问的,因此您必须将最后一行更改为tensorboard --logdir=%OPENAI_LOGDIR%

这仍然是一个猜测,直到您在问题中提供足够的信息


小智 6

你可以试试这个:

在 PowerSehll 中

$env:OPENAI_LOGDIR="path/to/tensorboard/data"
Run Code Online (Sandbox Code Playgroud)

在 cmd 中

set OPENAI_LOGDIR=path/to/tensorboard/data
Run Code Online (Sandbox Code Playgroud)


小智 0

打开你的电脑

  1. 搜索此电脑图标
  2. 单击右键然后选择属性。
  3. 单击高级系统设置(左侧部分)
  4. 单击环境变量(右下)
  5. 添加新的系统变量并保存更改

现在它将适用于所有用户。要测试打开cmd并输入echo %your_variable%

有关详细信息,请参阅什么是 PATH 和其他环境变量,以及如何设置或使用它们?

  • 无需为所有内容创建持久环境变量。 (3认同)