Docker 运行 环境变量不能用单引号?
Docker run env variable does not work with single quotes?
我是运行以下命令:
docker run -e 'SOME_ENV_VARIABLE=somevalue' somecommand
并且这并没有将env变量传递给somecommand
(注意:SOME_ENV_VARIABLE
和somevalue
没有未转义的单引号,它们分别是大写蛇形和小写没有特殊字符。
后来,我试过:
docker run -e "SOME_ENV_VARIABLE=somevalue" somecommand
这在某种程度上起作用了(注意双引号)。
这是为什么?我看过带单引号的文档。
我在 Windows
上试过这个。
报价由您的 shell 处理 - 因为您在 windows,即 cmd.exe
。而且,据我了解,由于 cmd.exe
does not handle single quotes,它会将带有引号的参数传递给 docker
。
它会在 Linux 上工作(通常有 bash
shell),这是许多人会在 docker
上使用的环境,因此它存在于大量文档中的原因。
我是运行以下命令:
docker run -e 'SOME_ENV_VARIABLE=somevalue' somecommand
并且这并没有将env变量传递给somecommand
(注意:SOME_ENV_VARIABLE
和somevalue
没有未转义的单引号,它们分别是大写蛇形和小写没有特殊字符。
后来,我试过:
docker run -e "SOME_ENV_VARIABLE=somevalue" somecommand
这在某种程度上起作用了(注意双引号)。
这是为什么?我看过带单引号的文档。
我在 Windows
上试过这个。
报价由您的 shell 处理 - 因为您在 windows,即 cmd.exe
。而且,据我了解,由于 cmd.exe
does not handle single quotes,它会将带有引号的参数传递给 docker
。
它会在 Linux 上工作(通常有 bash
shell),这是许多人会在 docker
上使用的环境,因此它存在于大量文档中的原因。